vuux
Version:
Vue3 Nuxt3 Nuxt4 组件库
175 lines (174 loc) • 5.83 kB
JavaScript
import w from "./en.mjs";
import _ from "./utils.mjs";
import { MS as H, S as k, MIN as b, H as f, W as M, D as y, M as T, Y as h, INVALID_DATE_STRING as Y, DATE as L, MILLISECONDS_A_SECOND as A, MILLISECONDS_A_MINUTE as E, MILLISECONDS_A_HOUR as N, MILLISECONDS_A_DAY as C, MILLISECONDS_A_WEEK as x } from "./constant.mjs";
let p = "en";
const g = {};
g[p] = w;
const O = "$isDayjsObject", u = (a) => a && a[O] === !0, D = _, I = (a, n, e) => {
let o;
if (!a)
return p;
if (typeof a == "string") {
const i = a.toLowerCase();
g[i] && (o = i), n && (g[i] = n, o = i);
const m = a.split("-");
if (!o && m.length > 1)
return I(m[0]);
} else {
const { name: i } = a;
g[i] = a, o = i;
}
return !e && o && (p = o), o || !e && p;
}, l = (a = {}) => {
const n = a.date ? new Date(a.date) : /* @__PURE__ */ new Date(), e = {
$d: n,
$L: I(a.locale, null, !0),
$x: a.x || {},
$u: a.u,
$offset: a.$offset,
$y: n.getFullYear(),
$M: n.getMonth(),
$D: n.getDate(),
$W: n.getDay(),
$H: n.getHours(),
$m: n.getMinutes(),
$s: n.getSeconds(),
$ms: n.getMilliseconds(),
[O]: !0
}, o = () => {
e.$d = new Date(e.$y, e.$M, e.$D, e.$H, e.$m, e.$s, e.$ms);
};
e.year = (t) => t === void 0 ? e.$y : (e.$y = t, o(), e), e.month = (t) => t === void 0 ? e.$M : (e.$M = t, o(), e), e.date = (t) => t === void 0 ? e.$D : (e.$D = t, o(), e), e.hour = (t) => t === void 0 ? e.$H : (e.$H = t, o(), e), e.minute = (t) => t === void 0 ? e.$m : (e.$m = t, o(), e), e.second = (t) => t === void 0 ? e.$s : (e.$s = t, o(), e), e.millisecond = (t) => t === void 0 ? e.$ms : (e.$ms = t, o(), e), e.add = (t, r) => {
switch (D.p(r)) {
case h:
e.year(e.$y + t);
break;
case T:
e.month(e.$M + t);
break;
case y:
e.date(e.$D + t);
break;
case M:
e.date(e.$D + t * 7);
break;
case f:
e.hour(e.$H + t);
break;
case b:
e.minute(e.$m + t);
break;
case k:
e.second(e.$s + t);
break;
case H:
e.millisecond(e.$ms + t);
break;
}
return e;
}, e.subtract = (t, r) => e.add(-t, r), e.clone = () => l({ date: e.$d, locale: e.$L, x: e.$x, u: e.$u });
const i = (t, r) => {
const s = t.clone();
switch (D.p(r)) {
case h:
s.month(0).date(1).hour(0).minute(0).second(0).millisecond(0);
break;
case T:
s.date(1).hour(0).minute(0).second(0).millisecond(0);
break;
case M: {
const $ = s.$L.weekStart || 0, d = (s.$W < $ ? s.$W + 7 : s.$W) - $;
s.date(s.$D - d).hour(0).minute(0).second(0).millisecond(0);
break;
}
case y:
case L:
s.hour(0).minute(0).second(0).millisecond(0);
break;
case f:
s.minute(0).second(0).millisecond(0);
break;
case b:
s.second(0).millisecond(0);
break;
case k:
s.millisecond(0);
break;
}
return s;
}, m = (t, r) => {
const s = i(t, r);
switch (D.p(r)) {
case h:
s.month(11).date(31).hour(23).minute(59).second(59).millisecond(999);
break;
case T:
s.date(new Date(s.year(), s.month() + 1, 0).getDate()).hour(23).minute(59).second(59).millisecond(999);
break;
case M:
s.date(s.$D + 6).hour(23).minute(59).second(59).millisecond(999);
break;
case y:
case L:
s.hour(23).minute(59).second(59).millisecond(999);
break;
case f:
s.minute(59).second(59).millisecond(999);
break;
case b:
s.second(59).millisecond(999);
break;
case k:
s.millisecond(999);
break;
}
return s;
};
return e.startOf = (t) => i(e, t), e.endOf = (t) => m(e, t), e.isSame = (t, r) => {
const s = u(t) ? t : l({ date: t });
return r ? i(e, r).$d.getTime() === i(s, r).$d.getTime() : e.$d.getTime() === s.$d.getTime();
}, e.isBefore = (t, r) => {
const s = u(t) ? t : l({ date: t });
return r ? i(e, r).$d.getTime() < i(s, r).$d.getTime() : e.$d.getTime() < s.$d.getTime();
}, e.isAfter = (t, r) => {
const s = u(t) ? t : l({ date: t });
return r ? m(e, r).$d.getTime() > m(s, r).$d.getTime() : e.$d.getTime() > s.$d.getTime();
}, e.diff = (t, r, s) => {
const $ = u(t) ? t : l({ date: t }), d = e.$d.getTime() - $.$d.getTime();
let c = d;
switch (D.p(r)) {
case h:
c = e.year() - $.year();
break;
case T:
c = e.month() - $.month() + (e.year() - $.year()) * 12;
break;
case M:
c = d / x;
break;
case y:
c = d / C;
break;
case f:
c = d / N;
break;
case b:
c = d / E;
break;
case k:
c = d / A;
break;
}
return s ? c : D.a(c);
}, e.daysInMonth = () => new Date(e.year(), e.month() + 1, 0).getDate(), e.format = (t) => {
let s = t || "YYYY-MM-DD HH:mm:ss";
return s = s.replace("YYYY", String(e.year())), s = s.replace("MM", String(e.month() + 1).padStart(2, "0")), s = s.replace("DD", String(e.date()).padStart(2, "0")), s = s.replace("HH", String(e.hour()).padStart(2, "0")), s = s.replace("mm", String(e.minute()).padStart(2, "0")), s = s.replace("ss", String(e.second()).padStart(2, "0")), s;
}, e.toDate = () => new Date(e.$d.getTime()), e.toISOString = () => e.$d.toISOString(), e.toJSON = () => e.$d.toString() === Y ? null : e.$d.toISOString(), e.toString = () => e.$d.toUTCString(), e.unix = () => Math.floor(e.$d.getTime() / 1e3), e;
}, S = (a, n) => u(a) ? a : l({ date: a, ...n });
S.isDayjs = u;
S.locale = I;
S.Ls = g;
S.extend = (a, n) => (a.$i || (a(n, S), a.$i = !0), S);
export {
S as default
};