4 changed files with 60 additions and 20 deletions
@ -0,0 +1,53 @@ |
|||
import dayjs from "dayjs"; |
|||
import utc from "dayjs/plugin/utc"; |
|||
import timezone from "dayjs/plugin/timezone"; |
|||
import relativeTime from "dayjs/plugin/relativeTime"; |
|||
dayjs.extend(utc); |
|||
dayjs.extend(timezone); |
|||
dayjs.extend(relativeTime); |
|||
|
|||
export default { |
|||
data() { |
|||
return { |
|||
userTimezone: localStorage.timezone || "auto", |
|||
} |
|||
}, |
|||
|
|||
methods: { |
|||
datetime(value) { |
|||
return this.datetimeFormat(value, "YYYY-MM-DD HH:mm:ss"); |
|||
}, |
|||
|
|||
date(value) { |
|||
return this.datetimeFormat(value, "YYYY-MM-DD"); |
|||
}, |
|||
|
|||
time(value, second = true) { |
|||
let secondString; |
|||
if (second) { |
|||
secondString = ":ss"; |
|||
} else { |
|||
secondString = ""; |
|||
} |
|||
return this.datetimeFormat(value, "HH:mm" + secondString); |
|||
}, |
|||
|
|||
datetimeFormat(value, format) { |
|||
if (value !== undefined && value !== "") { |
|||
return dayjs.utc(value).tz(this.timezone).format(format); |
|||
} |
|||
return ""; |
|||
} |
|||
}, |
|||
|
|||
computed: { |
|||
timezone() { |
|||
if (this.userTimezone === "auto") { |
|||
return dayjs.tz.guess() |
|||
} |
|||
|
|||
return this.userTimezone |
|||
}, |
|||
} |
|||
|
|||
} |
Loading…
Reference in new issue