main
ts 25 lines 665 Bytes
Raw
1 import bytes from "bytes"
2 import _toNumber from "lodash/toNumber"
3 import dayjs from "@/utils/dayjs"
4
5 export function formatBytes(val: string | number) {
6 return bytes(_toNumber(val))
7 }
8
9 export function formatDate(date: Date | string | number, format: string, opts?: { utc?: boolean; tz?: boolean }) {
10 let parsedDate = date
11 if (typeof date === "number" && date.toString().length >= 15) {
12 parsedDate = date / 1000
13 }
14
15 let datejs = opts?.tz ? dayjs.utc(parsedDate) : dayjs(parsedDate)
16 if (!datejs.isValid()) return date
17
18 if (opts?.tz) {
19 datejs = datejs.tz(dayjs.tz.guess())
20 } else if (opts?.utc) {
21 datejs = datejs.utc()
22 }
23
24 return datejs.format(format)
25 }