ly-utils-lib 1.0.1 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ly-utils-lib.cjs.js +2 -1
- package/dist/ly-utils-lib.cjs.js.map +1 -0
- package/dist/ly-utils-lib.es.js +52 -6
- package/dist/ly-utils-lib.es.js.map +1 -0
- package/dist/ly-utils-lib.umd.js +2 -1
- package/dist/ly-utils-lib.umd.js.map +1 -0
- package/dist/utils/time.d.ts +66 -1
- package/package.json +2 -2
package/dist/ly-utils-lib.cjs.js
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("dayjs"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("dayjs"),D=require("es-toolkit");function Y(t=new Date,e="YYYY-MM-DD HH:mm:ss"){return r(t).format(e)}function m(t="after",e=new Date,f="day",n=1,a="YYYY-MM-DD"){if(t==="after")return r(e).add(n,f).format(a);if(t==="before")return r(e).subtract(n,f).format(a)}function c(t="month",e="YYYY-MM-DD"){return r().startOf(t).format(e)}function s(t="month",e="YYYY-MM-DD"){return r().endOf(t).format(e)}function i(t=new Date){return r(t).unix()}function d(t=0,e="YYYY-MM-DD HH:mm:ss"){return t===0&&(t=i()),r.unix(t).format(e)}function u(t="day",e,f=new Date){const n=r(e);return r(f).diff(n,t)}function M(t,e){const f=u("day",t,e),n=[];for(let a=0;a<=f;a++){let o=m("after",t,"day",a,"YYYY-MM-DD");n.push({day:o,timeStamp:i(o)})}return n}function g(t){const e=u("minute",t);return e<1?"刚刚":e<60?`${e}分钟前`:e<1440?`${Math.floor(e/60)}小时前`:e<43200?`${Math.floor(e/1440)}天前`:Y(t,"YYYY-MM-DD")}exports.dayjs=r;exports.computeDate=m;exports.endDate=s;exports.formatDate=Y;exports.formatTimeStamp=d;exports.getDateDiff=u;exports.getRangeDate=M;exports.getRelativeTime=g;exports.getTimeStamp=i;exports.startDate=c;Object.keys(D).forEach(t=>{t!=="default"&&!Object.prototype.hasOwnProperty.call(exports,t)&&Object.defineProperty(exports,t,{enumerable:!0,get:()=>D[t]})});
|
|
2
|
+
//# sourceMappingURL=ly-utils-lib.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ly-utils-lib.cjs.js","sources":["../src/utils/time.ts"],"sourcesContent":["import dayjs, { type ManipulateType, type OpUnitType } from 'dayjs'\r\n\r\n/**\r\n * 日期格式化函数\r\n * @param {Date | string} date - 日期\r\n * @param {string} format - 格式模板\r\n * @returns {string} 格式化后的日期字符串\r\n */\r\nexport function formatDate(\r\n date: Date | string = new Date(),\r\n format: string = 'YYYY-MM-DD HH:mm:ss'\r\n): string {\r\n return dayjs(date).format(format)\r\n}\r\n\r\n/**\r\n * 日期计算函数\r\n * @param {string} compute - 计算方式 'after' | 'before'\r\n * @param {Date | string} date - 日期\r\n * @param {string} type - 计算类型 'day' | 'week' | 'month' | 'quarter' | 'year' | 'hour' | 'minute' | 'second' | 'millisecond'\r\n * @param {number} num - 计算数量\r\n * @param {string} format - 格式模板\r\n * @returns {string} 格式化后的日期字符串\r\n */\r\nexport function computeDate(\r\n compute: string = 'after',\r\n date: Date | string = new Date(),\r\n type: ManipulateType | undefined = 'day',\r\n num: number = 1,\r\n format: string = 'YYYY-MM-DD'\r\n): string | undefined {\r\n if (compute === 'after') {\r\n return dayjs(date).add(num, type).format(format)\r\n }\r\n if (compute === 'before') {\r\n return dayjs(date).subtract(num, type).format(format)\r\n }\r\n}\r\n\r\n/**\r\n * 开始时间函数\r\n * @param {string} type - 类型 'date' | 'day' | 'month' | 'quarter' | 'year' | 'week' | 'isoWeek' | 'hour' | 'minute' | 'second' | 'millisecond'\r\n * @param {string} format - 格式模板\r\n * @returns {string} 格式化后的日期字符串\r\n */\r\nexport function startDate(\r\n type: ManipulateType | undefined = 'month',\r\n format: string = 'YYYY-MM-DD'\r\n): any {\r\n return dayjs().startOf(type).format(format)\r\n}\r\n\r\n/**\r\n * 结束时间时间函数\r\n * @param {string} type - 类型 'date' | 'day' | 'month' | 'quarter' | 'year' | 'week' | 'isoWeek' | 'hour' | 'minute' | 'second' | 'millisecond'\r\n * @param {string} format - 格式模板\r\n * @returns {string} 格式化后的日期字符串\r\n */\r\nexport function endDate(type: OpUnitType = 'month', format: string = 'YYYY-MM-DD'): any {\r\n return dayjs().endOf(type).format(format)\r\n}\r\n\r\n/**\r\n * 获取时间戳函数\r\n * @param {Date | string} date - 日期\r\n * @returns {number} 时间戳\r\n */\r\nexport function getTimeStamp(date: Date | string = new Date()): number {\r\n return dayjs(date).unix()\r\n}\r\n\r\n/**\r\n * 时间戳格式化函数\r\n * @param {number} timeStamp - 时间戳\r\n * @param {string} format - 格式模板\r\n * @returns {string} 格式化后的日期字符串\r\n */\r\nexport function formatTimeStamp(\r\n timeStamp: number = 0,\r\n format: string = 'YYYY-MM-DD HH:mm:ss'\r\n): string {\r\n if (timeStamp === 0) {\r\n timeStamp = getTimeStamp()\r\n }\r\n return dayjs.unix(timeStamp).format(format)\r\n}\r\n\r\n/**\r\n * 获取两个日期时间之间的差异函数\r\n * @param {string} type - 类型 'week' | 'day' | 'month' | 'quarter' | 'year' | 'hour' | 'minute' | 'second' | 'millisecond'\r\n * @param {Date | string} startDate - 起始时间\r\n * @param {Date | string} endDate - 结束时间\r\n * @returns {number} 日期集合\r\n */\r\nexport function getDateDiff(\r\n type: OpUnitType = 'day',\r\n startDate: Date | string,\r\n endDate: Date | string = new Date()\r\n): number {\r\n const fromDate = dayjs(startDate)\r\n const toDate = dayjs(endDate)\r\n const diff = toDate.diff(fromDate, type)\r\n return diff\r\n}\r\n\r\n/**\r\n * 获取一段范围内日期函数\r\n * @param {Date | string} startDate - 起始时间\r\n * @param {Date | string} endDate - 结束时间\r\n * @returns {array} 日期集合\r\n */\r\nexport function getRangeDate(startDate: Date | string, endDate: Date | string): Array<any> {\r\n const diff = getDateDiff('day', startDate, endDate)\r\n const range: Array<any> = []\r\n for (let i = 0; i <= diff; i++) {\r\n let day = computeDate('after', startDate, 'day', i, 'YYYY-MM-DD')\r\n range.push({\r\n day: day,\r\n timeStamp: getTimeStamp(day)\r\n })\r\n }\r\n return range\r\n}\r\n\r\n/**\r\n * 获取相对时间\r\n * @param {Date | string} date - 日期\r\n * @returns {string} 相对时间描述\r\n */\r\nexport function getRelativeTime(date: Date | string): string {\r\n const diffInMinutes = getDateDiff('minute', date)\r\n if (diffInMinutes < 1) return '刚刚'\r\n if (diffInMinutes < 60) return `${diffInMinutes}分钟前`\r\n if (diffInMinutes < 1440) return `${Math.floor(diffInMinutes / 60)}小时前`\r\n if (diffInMinutes < 43200) return `${Math.floor(diffInMinutes / 1440)}天前`\r\n\r\n return formatDate(date, 'YYYY-MM-DD')\r\n}\r\n"],"names":["formatDate","date","format","dayjs","computeDate","compute","type","num","startDate","endDate","getTimeStamp","formatTimeStamp","timeStamp","getDateDiff","fromDate","getRangeDate","diff","range","i","day","getRelativeTime","diffInMinutes"],"mappings":"iIAQO,SAASA,EACdC,EAAsB,IAAI,KAC1BC,EAAiB,sBACT,CACR,OAAOC,EAAMF,CAAI,EAAE,OAAOC,CAAM,CAClC,CAWO,SAASE,EACdC,EAAkB,QAClBJ,EAAsB,IAAI,KAC1BK,EAAmC,MACnCC,EAAc,EACdL,EAAiB,aACG,CACpB,GAAIG,IAAY,QACd,OAAOF,EAAMF,CAAI,EAAE,IAAIM,EAAKD,CAAI,EAAE,OAAOJ,CAAM,EAEjD,GAAIG,IAAY,SACd,OAAOF,EAAMF,CAAI,EAAE,SAASM,EAAKD,CAAI,EAAE,OAAOJ,CAAM,CAExD,CAQO,SAASM,EACdF,EAAmC,QACnCJ,EAAiB,aACZ,CACL,OAAOC,IAAQ,QAAQG,CAAI,EAAE,OAAOJ,CAAM,CAC5C,CAQO,SAASO,EAAQH,EAAmB,QAASJ,EAAiB,aAAmB,CACtF,OAAOC,IAAQ,MAAMG,CAAI,EAAE,OAAOJ,CAAM,CAC1C,CAOO,SAASQ,EAAaT,EAAsB,IAAI,KAAgB,CACrE,OAAOE,EAAMF,CAAI,EAAE,KAAA,CACrB,CAQO,SAASU,EACdC,EAAoB,EACpBV,EAAiB,sBACT,CACR,OAAIU,IAAc,IAChBA,EAAYF,EAAA,GAEPP,EAAM,KAAKS,CAAS,EAAE,OAAOV,CAAM,CAC5C,CASO,SAASW,EACdP,EAAmB,MACnBE,EACAC,EAAyB,IAAI,KACrB,CACR,MAAMK,EAAWX,EAAMK,CAAS,EAGhC,OAFeL,EAAMM,CAAO,EACR,KAAKK,EAAUR,CAAI,CAEzC,CAQO,SAASS,EAAaP,EAA0BC,EAAoC,CACzF,MAAMO,EAAOH,EAAY,MAAOL,EAAWC,CAAO,EAC5CQ,EAAoB,CAAA,EAC1B,QAASC,EAAI,EAAGA,GAAKF,EAAME,IAAK,CAC9B,IAAIC,EAAMf,EAAY,QAASI,EAAW,MAAOU,EAAG,YAAY,EAChED,EAAM,KAAK,CACT,IAAAE,EACA,UAAWT,EAAaS,CAAG,CAAA,CAC5B,CACH,CACA,OAAOF,CACT,CAOO,SAASG,EAAgBnB,EAA6B,CAC3D,MAAMoB,EAAgBR,EAAY,SAAUZ,CAAI,EAChD,OAAIoB,EAAgB,EAAU,KAC1BA,EAAgB,GAAW,GAAGA,CAAa,MAC3CA,EAAgB,KAAa,GAAG,KAAK,MAAMA,EAAgB,EAAE,CAAC,MAC9DA,EAAgB,MAAc,GAAG,KAAK,MAAMA,EAAgB,IAAI,CAAC,KAE9DrB,EAAWC,EAAM,YAAY,CACtC"}
|
package/dist/ly-utils-lib.es.js
CHANGED
|
@@ -1,10 +1,56 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { default as
|
|
1
|
+
import e from "dayjs";
|
|
2
|
+
import { default as h } from "dayjs";
|
|
3
3
|
export * from "es-toolkit";
|
|
4
|
-
function
|
|
5
|
-
return t
|
|
4
|
+
function Y(t = /* @__PURE__ */ new Date(), r = "YYYY-MM-DD HH:mm:ss") {
|
|
5
|
+
return e(t).format(r);
|
|
6
|
+
}
|
|
7
|
+
function D(t = "after", r = /* @__PURE__ */ new Date(), o = "day", n = 1, f = "YYYY-MM-DD") {
|
|
8
|
+
if (t === "after")
|
|
9
|
+
return e(r).add(n, o).format(f);
|
|
10
|
+
if (t === "before")
|
|
11
|
+
return e(r).subtract(n, o).format(f);
|
|
12
|
+
}
|
|
13
|
+
function s(t = "month", r = "YYYY-MM-DD") {
|
|
14
|
+
return e().startOf(t).format(r);
|
|
15
|
+
}
|
|
16
|
+
function M(t = "month", r = "YYYY-MM-DD") {
|
|
17
|
+
return e().endOf(t).format(r);
|
|
18
|
+
}
|
|
19
|
+
function i(t = /* @__PURE__ */ new Date()) {
|
|
20
|
+
return e(t).unix();
|
|
21
|
+
}
|
|
22
|
+
function c(t = 0, r = "YYYY-MM-DD HH:mm:ss") {
|
|
23
|
+
return t === 0 && (t = i()), e.unix(t).format(r);
|
|
24
|
+
}
|
|
25
|
+
function u(t = "day", r, o = /* @__PURE__ */ new Date()) {
|
|
26
|
+
const n = e(r);
|
|
27
|
+
return e(o).diff(n, t);
|
|
28
|
+
}
|
|
29
|
+
function d(t, r) {
|
|
30
|
+
const o = u("day", t, r), n = [];
|
|
31
|
+
for (let f = 0; f <= o; f++) {
|
|
32
|
+
let a = D("after", t, "day", f, "YYYY-MM-DD");
|
|
33
|
+
n.push({
|
|
34
|
+
day: a,
|
|
35
|
+
timeStamp: i(a)
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
return n;
|
|
39
|
+
}
|
|
40
|
+
function g(t) {
|
|
41
|
+
const r = u("minute", t);
|
|
42
|
+
return r < 1 ? "刚刚" : r < 60 ? `${r}分钟前` : r < 1440 ? `${Math.floor(r / 60)}小时前` : r < 43200 ? `${Math.floor(r / 1440)}天前` : Y(t, "YYYY-MM-DD");
|
|
6
43
|
}
|
|
7
44
|
export {
|
|
8
|
-
|
|
9
|
-
|
|
45
|
+
D as computeDate,
|
|
46
|
+
h as dayjs,
|
|
47
|
+
M as endDate,
|
|
48
|
+
Y as formatDate,
|
|
49
|
+
c as formatTimeStamp,
|
|
50
|
+
u as getDateDiff,
|
|
51
|
+
d as getRangeDate,
|
|
52
|
+
g as getRelativeTime,
|
|
53
|
+
i as getTimeStamp,
|
|
54
|
+
s as startDate
|
|
10
55
|
};
|
|
56
|
+
//# sourceMappingURL=ly-utils-lib.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ly-utils-lib.es.js","sources":["../src/utils/time.ts"],"sourcesContent":["import dayjs, { type ManipulateType, type OpUnitType } from 'dayjs'\r\n\r\n/**\r\n * 日期格式化函数\r\n * @param {Date | string} date - 日期\r\n * @param {string} format - 格式模板\r\n * @returns {string} 格式化后的日期字符串\r\n */\r\nexport function formatDate(\r\n date: Date | string = new Date(),\r\n format: string = 'YYYY-MM-DD HH:mm:ss'\r\n): string {\r\n return dayjs(date).format(format)\r\n}\r\n\r\n/**\r\n * 日期计算函数\r\n * @param {string} compute - 计算方式 'after' | 'before'\r\n * @param {Date | string} date - 日期\r\n * @param {string} type - 计算类型 'day' | 'week' | 'month' | 'quarter' | 'year' | 'hour' | 'minute' | 'second' | 'millisecond'\r\n * @param {number} num - 计算数量\r\n * @param {string} format - 格式模板\r\n * @returns {string} 格式化后的日期字符串\r\n */\r\nexport function computeDate(\r\n compute: string = 'after',\r\n date: Date | string = new Date(),\r\n type: ManipulateType | undefined = 'day',\r\n num: number = 1,\r\n format: string = 'YYYY-MM-DD'\r\n): string | undefined {\r\n if (compute === 'after') {\r\n return dayjs(date).add(num, type).format(format)\r\n }\r\n if (compute === 'before') {\r\n return dayjs(date).subtract(num, type).format(format)\r\n }\r\n}\r\n\r\n/**\r\n * 开始时间函数\r\n * @param {string} type - 类型 'date' | 'day' | 'month' | 'quarter' | 'year' | 'week' | 'isoWeek' | 'hour' | 'minute' | 'second' | 'millisecond'\r\n * @param {string} format - 格式模板\r\n * @returns {string} 格式化后的日期字符串\r\n */\r\nexport function startDate(\r\n type: ManipulateType | undefined = 'month',\r\n format: string = 'YYYY-MM-DD'\r\n): any {\r\n return dayjs().startOf(type).format(format)\r\n}\r\n\r\n/**\r\n * 结束时间时间函数\r\n * @param {string} type - 类型 'date' | 'day' | 'month' | 'quarter' | 'year' | 'week' | 'isoWeek' | 'hour' | 'minute' | 'second' | 'millisecond'\r\n * @param {string} format - 格式模板\r\n * @returns {string} 格式化后的日期字符串\r\n */\r\nexport function endDate(type: OpUnitType = 'month', format: string = 'YYYY-MM-DD'): any {\r\n return dayjs().endOf(type).format(format)\r\n}\r\n\r\n/**\r\n * 获取时间戳函数\r\n * @param {Date | string} date - 日期\r\n * @returns {number} 时间戳\r\n */\r\nexport function getTimeStamp(date: Date | string = new Date()): number {\r\n return dayjs(date).unix()\r\n}\r\n\r\n/**\r\n * 时间戳格式化函数\r\n * @param {number} timeStamp - 时间戳\r\n * @param {string} format - 格式模板\r\n * @returns {string} 格式化后的日期字符串\r\n */\r\nexport function formatTimeStamp(\r\n timeStamp: number = 0,\r\n format: string = 'YYYY-MM-DD HH:mm:ss'\r\n): string {\r\n if (timeStamp === 0) {\r\n timeStamp = getTimeStamp()\r\n }\r\n return dayjs.unix(timeStamp).format(format)\r\n}\r\n\r\n/**\r\n * 获取两个日期时间之间的差异函数\r\n * @param {string} type - 类型 'week' | 'day' | 'month' | 'quarter' | 'year' | 'hour' | 'minute' | 'second' | 'millisecond'\r\n * @param {Date | string} startDate - 起始时间\r\n * @param {Date | string} endDate - 结束时间\r\n * @returns {number} 日期集合\r\n */\r\nexport function getDateDiff(\r\n type: OpUnitType = 'day',\r\n startDate: Date | string,\r\n endDate: Date | string = new Date()\r\n): number {\r\n const fromDate = dayjs(startDate)\r\n const toDate = dayjs(endDate)\r\n const diff = toDate.diff(fromDate, type)\r\n return diff\r\n}\r\n\r\n/**\r\n * 获取一段范围内日期函数\r\n * @param {Date | string} startDate - 起始时间\r\n * @param {Date | string} endDate - 结束时间\r\n * @returns {array} 日期集合\r\n */\r\nexport function getRangeDate(startDate: Date | string, endDate: Date | string): Array<any> {\r\n const diff = getDateDiff('day', startDate, endDate)\r\n const range: Array<any> = []\r\n for (let i = 0; i <= diff; i++) {\r\n let day = computeDate('after', startDate, 'day', i, 'YYYY-MM-DD')\r\n range.push({\r\n day: day,\r\n timeStamp: getTimeStamp(day)\r\n })\r\n }\r\n return range\r\n}\r\n\r\n/**\r\n * 获取相对时间\r\n * @param {Date | string} date - 日期\r\n * @returns {string} 相对时间描述\r\n */\r\nexport function getRelativeTime(date: Date | string): string {\r\n const diffInMinutes = getDateDiff('minute', date)\r\n if (diffInMinutes < 1) return '刚刚'\r\n if (diffInMinutes < 60) return `${diffInMinutes}分钟前`\r\n if (diffInMinutes < 1440) return `${Math.floor(diffInMinutes / 60)}小时前`\r\n if (diffInMinutes < 43200) return `${Math.floor(diffInMinutes / 1440)}天前`\r\n\r\n return formatDate(date, 'YYYY-MM-DD')\r\n}\r\n"],"names":["formatDate","date","format","dayjs","computeDate","compute","type","num","startDate","endDate","getTimeStamp","formatTimeStamp","timeStamp","getDateDiff","fromDate","getRangeDate","diff","range","i","day","getRelativeTime","diffInMinutes"],"mappings":";;;AAQO,SAASA,EACdC,IAAsB,oBAAI,KAAA,GAC1BC,IAAiB,uBACT;AACR,SAAOC,EAAMF,CAAI,EAAE,OAAOC,CAAM;AAClC;AAWO,SAASE,EACdC,IAAkB,SAClBJ,IAAsB,oBAAI,KAAA,GAC1BK,IAAmC,OACnCC,IAAc,GACdL,IAAiB,cACG;AACpB,MAAIG,MAAY;AACd,WAAOF,EAAMF,CAAI,EAAE,IAAIM,GAAKD,CAAI,EAAE,OAAOJ,CAAM;AAEjD,MAAIG,MAAY;AACd,WAAOF,EAAMF,CAAI,EAAE,SAASM,GAAKD,CAAI,EAAE,OAAOJ,CAAM;AAExD;AAQO,SAASM,EACdF,IAAmC,SACnCJ,IAAiB,cACZ;AACL,SAAOC,IAAQ,QAAQG,CAAI,EAAE,OAAOJ,CAAM;AAC5C;AAQO,SAASO,EAAQH,IAAmB,SAASJ,IAAiB,cAAmB;AACtF,SAAOC,IAAQ,MAAMG,CAAI,EAAE,OAAOJ,CAAM;AAC1C;AAOO,SAASQ,EAAaT,IAAsB,oBAAI,QAAgB;AACrE,SAAOE,EAAMF,CAAI,EAAE,KAAA;AACrB;AAQO,SAASU,EACdC,IAAoB,GACpBV,IAAiB,uBACT;AACR,SAAIU,MAAc,MAChBA,IAAYF,EAAA,IAEPP,EAAM,KAAKS,CAAS,EAAE,OAAOV,CAAM;AAC5C;AASO,SAASW,EACdP,IAAmB,OACnBE,GACAC,IAAyB,oBAAI,QACrB;AACR,QAAMK,IAAWX,EAAMK,CAAS;AAGhC,SAFeL,EAAMM,CAAO,EACR,KAAKK,GAAUR,CAAI;AAEzC;AAQO,SAASS,EAAaP,GAA0BC,GAAoC;AACzF,QAAMO,IAAOH,EAAY,OAAOL,GAAWC,CAAO,GAC5CQ,IAAoB,CAAA;AAC1B,WAASC,IAAI,GAAGA,KAAKF,GAAME,KAAK;AAC9B,QAAIC,IAAMf,EAAY,SAASI,GAAW,OAAOU,GAAG,YAAY;AAChE,IAAAD,EAAM,KAAK;AAAA,MACT,KAAAE;AAAA,MACA,WAAWT,EAAaS,CAAG;AAAA,IAAA,CAC5B;AAAA,EACH;AACA,SAAOF;AACT;AAOO,SAASG,EAAgBnB,GAA6B;AAC3D,QAAMoB,IAAgBR,EAAY,UAAUZ,CAAI;AAChD,SAAIoB,IAAgB,IAAU,OAC1BA,IAAgB,KAAW,GAAGA,CAAa,QAC3CA,IAAgB,OAAa,GAAG,KAAK,MAAMA,IAAgB,EAAE,CAAC,QAC9DA,IAAgB,QAAc,GAAG,KAAK,MAAMA,IAAgB,IAAI,CAAC,OAE9DrB,EAAWC,GAAM,YAAY;AACtC;"}
|
package/dist/ly-utils-lib.umd.js
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(n,f){typeof exports=="object"&&typeof module<"u"?f(exports,require("dayjs"),require("es-toolkit")):typeof define=="function"&&define.amd?define(["exports","dayjs","es-toolkit"],f):(n=typeof globalThis<"u"?globalThis:n||self,f(n.MyUtils={},n.dayjs,n.esToolkit))})(this,(function(n,f,m){"use strict";function Y(t=new Date,e="YYYY-MM-DD HH:mm:ss"){return f(t).format(e)}function c(t="after",e=new Date,a="day",i=1,r="YYYY-MM-DD"){if(t==="after")return f(e).add(i,a).format(r);if(t==="before")return f(e).subtract(i,a).format(r)}function d(t="month",e="YYYY-MM-DD"){return f().startOf(t).format(e)}function M(t="month",e="YYYY-MM-DD"){return f().endOf(t).format(e)}function o(t=new Date){return f(t).unix()}function l(t=0,e="YYYY-MM-DD HH:mm:ss"){return t===0&&(t=o()),f.unix(t).format(e)}function u(t="day",e,a=new Date){const i=f(e);return f(a).diff(i,t)}function g(t,e){const a=u("day",t,e),i=[];for(let r=0;r<=a;r++){let D=c("after",t,"day",r,"YYYY-MM-DD");i.push({day:D,timeStamp:o(D)})}return i}function s(t){const e=u("minute",t);return e<1?"刚刚":e<60?`${e}分钟前`:e<1440?`${Math.floor(e/60)}小时前`:e<43200?`${Math.floor(e/1440)}天前`:Y(t,"YYYY-MM-DD")}n.dayjs=f,n.computeDate=c,n.endDate=M,n.formatDate=Y,n.formatTimeStamp=l,n.getDateDiff=u,n.getRangeDate=g,n.getRelativeTime=s,n.getTimeStamp=o,n.startDate=d,Object.keys(m).forEach(t=>{t!=="default"&&!Object.prototype.hasOwnProperty.call(n,t)&&Object.defineProperty(n,t,{enumerable:!0,get:()=>m[t]})}),Object.defineProperty(n,Symbol.toStringTag,{value:"Module"})}));
|
|
2
|
+
//# sourceMappingURL=ly-utils-lib.umd.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ly-utils-lib.umd.js","sources":["../src/utils/time.ts"],"sourcesContent":["import dayjs, { type ManipulateType, type OpUnitType } from 'dayjs'\r\n\r\n/**\r\n * 日期格式化函数\r\n * @param {Date | string} date - 日期\r\n * @param {string} format - 格式模板\r\n * @returns {string} 格式化后的日期字符串\r\n */\r\nexport function formatDate(\r\n date: Date | string = new Date(),\r\n format: string = 'YYYY-MM-DD HH:mm:ss'\r\n): string {\r\n return dayjs(date).format(format)\r\n}\r\n\r\n/**\r\n * 日期计算函数\r\n * @param {string} compute - 计算方式 'after' | 'before'\r\n * @param {Date | string} date - 日期\r\n * @param {string} type - 计算类型 'day' | 'week' | 'month' | 'quarter' | 'year' | 'hour' | 'minute' | 'second' | 'millisecond'\r\n * @param {number} num - 计算数量\r\n * @param {string} format - 格式模板\r\n * @returns {string} 格式化后的日期字符串\r\n */\r\nexport function computeDate(\r\n compute: string = 'after',\r\n date: Date | string = new Date(),\r\n type: ManipulateType | undefined = 'day',\r\n num: number = 1,\r\n format: string = 'YYYY-MM-DD'\r\n): string | undefined {\r\n if (compute === 'after') {\r\n return dayjs(date).add(num, type).format(format)\r\n }\r\n if (compute === 'before') {\r\n return dayjs(date).subtract(num, type).format(format)\r\n }\r\n}\r\n\r\n/**\r\n * 开始时间函数\r\n * @param {string} type - 类型 'date' | 'day' | 'month' | 'quarter' | 'year' | 'week' | 'isoWeek' | 'hour' | 'minute' | 'second' | 'millisecond'\r\n * @param {string} format - 格式模板\r\n * @returns {string} 格式化后的日期字符串\r\n */\r\nexport function startDate(\r\n type: ManipulateType | undefined = 'month',\r\n format: string = 'YYYY-MM-DD'\r\n): any {\r\n return dayjs().startOf(type).format(format)\r\n}\r\n\r\n/**\r\n * 结束时间时间函数\r\n * @param {string} type - 类型 'date' | 'day' | 'month' | 'quarter' | 'year' | 'week' | 'isoWeek' | 'hour' | 'minute' | 'second' | 'millisecond'\r\n * @param {string} format - 格式模板\r\n * @returns {string} 格式化后的日期字符串\r\n */\r\nexport function endDate(type: OpUnitType = 'month', format: string = 'YYYY-MM-DD'): any {\r\n return dayjs().endOf(type).format(format)\r\n}\r\n\r\n/**\r\n * 获取时间戳函数\r\n * @param {Date | string} date - 日期\r\n * @returns {number} 时间戳\r\n */\r\nexport function getTimeStamp(date: Date | string = new Date()): number {\r\n return dayjs(date).unix()\r\n}\r\n\r\n/**\r\n * 时间戳格式化函数\r\n * @param {number} timeStamp - 时间戳\r\n * @param {string} format - 格式模板\r\n * @returns {string} 格式化后的日期字符串\r\n */\r\nexport function formatTimeStamp(\r\n timeStamp: number = 0,\r\n format: string = 'YYYY-MM-DD HH:mm:ss'\r\n): string {\r\n if (timeStamp === 0) {\r\n timeStamp = getTimeStamp()\r\n }\r\n return dayjs.unix(timeStamp).format(format)\r\n}\r\n\r\n/**\r\n * 获取两个日期时间之间的差异函数\r\n * @param {string} type - 类型 'week' | 'day' | 'month' | 'quarter' | 'year' | 'hour' | 'minute' | 'second' | 'millisecond'\r\n * @param {Date | string} startDate - 起始时间\r\n * @param {Date | string} endDate - 结束时间\r\n * @returns {number} 日期集合\r\n */\r\nexport function getDateDiff(\r\n type: OpUnitType = 'day',\r\n startDate: Date | string,\r\n endDate: Date | string = new Date()\r\n): number {\r\n const fromDate = dayjs(startDate)\r\n const toDate = dayjs(endDate)\r\n const diff = toDate.diff(fromDate, type)\r\n return diff\r\n}\r\n\r\n/**\r\n * 获取一段范围内日期函数\r\n * @param {Date | string} startDate - 起始时间\r\n * @param {Date | string} endDate - 结束时间\r\n * @returns {array} 日期集合\r\n */\r\nexport function getRangeDate(startDate: Date | string, endDate: Date | string): Array<any> {\r\n const diff = getDateDiff('day', startDate, endDate)\r\n const range: Array<any> = []\r\n for (let i = 0; i <= diff; i++) {\r\n let day = computeDate('after', startDate, 'day', i, 'YYYY-MM-DD')\r\n range.push({\r\n day: day,\r\n timeStamp: getTimeStamp(day)\r\n })\r\n }\r\n return range\r\n}\r\n\r\n/**\r\n * 获取相对时间\r\n * @param {Date | string} date - 日期\r\n * @returns {string} 相对时间描述\r\n */\r\nexport function getRelativeTime(date: Date | string): string {\r\n const diffInMinutes = getDateDiff('minute', date)\r\n if (diffInMinutes < 1) return '刚刚'\r\n if (diffInMinutes < 60) return `${diffInMinutes}分钟前`\r\n if (diffInMinutes < 1440) return `${Math.floor(diffInMinutes / 60)}小时前`\r\n if (diffInMinutes < 43200) return `${Math.floor(diffInMinutes / 1440)}天前`\r\n\r\n return formatDate(date, 'YYYY-MM-DD')\r\n}\r\n"],"names":["formatDate","date","format","dayjs","computeDate","compute","type","num","startDate","endDate","getTimeStamp","formatTimeStamp","timeStamp","getDateDiff","fromDate","getRangeDate","diff","range","i","day","getRelativeTime","diffInMinutes"],"mappings":"oTAQO,SAASA,EACdC,EAAsB,IAAI,KAC1BC,EAAiB,sBACT,CACR,OAAOC,EAAMF,CAAI,EAAE,OAAOC,CAAM,CAClC,CAWO,SAASE,EACdC,EAAkB,QAClBJ,EAAsB,IAAI,KAC1BK,EAAmC,MACnCC,EAAc,EACdL,EAAiB,aACG,CACpB,GAAIG,IAAY,QACd,OAAOF,EAAMF,CAAI,EAAE,IAAIM,EAAKD,CAAI,EAAE,OAAOJ,CAAM,EAEjD,GAAIG,IAAY,SACd,OAAOF,EAAMF,CAAI,EAAE,SAASM,EAAKD,CAAI,EAAE,OAAOJ,CAAM,CAExD,CAQO,SAASM,EACdF,EAAmC,QACnCJ,EAAiB,aACZ,CACL,OAAOC,IAAQ,QAAQG,CAAI,EAAE,OAAOJ,CAAM,CAC5C,CAQO,SAASO,EAAQH,EAAmB,QAASJ,EAAiB,aAAmB,CACtF,OAAOC,IAAQ,MAAMG,CAAI,EAAE,OAAOJ,CAAM,CAC1C,CAOO,SAASQ,EAAaT,EAAsB,IAAI,KAAgB,CACrE,OAAOE,EAAMF,CAAI,EAAE,KAAA,CACrB,CAQO,SAASU,EACdC,EAAoB,EACpBV,EAAiB,sBACT,CACR,OAAIU,IAAc,IAChBA,EAAYF,EAAA,GAEPP,EAAM,KAAKS,CAAS,EAAE,OAAOV,CAAM,CAC5C,CASO,SAASW,EACdP,EAAmB,MACnBE,EACAC,EAAyB,IAAI,KACrB,CACR,MAAMK,EAAWX,EAAMK,CAAS,EAGhC,OAFeL,EAAMM,CAAO,EACR,KAAKK,EAAUR,CAAI,CAEzC,CAQO,SAASS,EAAaP,EAA0BC,EAAoC,CACzF,MAAMO,EAAOH,EAAY,MAAOL,EAAWC,CAAO,EAC5CQ,EAAoB,CAAA,EAC1B,QAASC,EAAI,EAAGA,GAAKF,EAAME,IAAK,CAC9B,IAAIC,EAAMf,EAAY,QAASI,EAAW,MAAOU,EAAG,YAAY,EAChED,EAAM,KAAK,CACT,IAAAE,EACA,UAAWT,EAAaS,CAAG,CAAA,CAC5B,CACH,CACA,OAAOF,CACT,CAOO,SAASG,EAAgBnB,EAA6B,CAC3D,MAAMoB,EAAgBR,EAAY,SAAUZ,CAAI,EAChD,OAAIoB,EAAgB,EAAU,KAC1BA,EAAgB,GAAW,GAAGA,CAAa,MAC3CA,EAAgB,KAAa,GAAG,KAAK,MAAMA,EAAgB,EAAE,CAAC,MAC9DA,EAAgB,MAAc,GAAG,KAAK,MAAMA,EAAgB,IAAI,CAAC,KAE9DrB,EAAWC,EAAM,YAAY,CACtC"}
|
package/dist/utils/time.d.ts
CHANGED
|
@@ -1 +1,66 @@
|
|
|
1
|
-
|
|
1
|
+
import { ManipulateType, OpUnitType } from 'dayjs';
|
|
2
|
+
/**
|
|
3
|
+
* 日期格式化函数
|
|
4
|
+
* @param {Date | string} date - 日期
|
|
5
|
+
* @param {string} format - 格式模板
|
|
6
|
+
* @returns {string} 格式化后的日期字符串
|
|
7
|
+
*/
|
|
8
|
+
export declare function formatDate(date?: Date | string, format?: string): string;
|
|
9
|
+
/**
|
|
10
|
+
* 日期计算函数
|
|
11
|
+
* @param {string} compute - 计算方式 'after' | 'before'
|
|
12
|
+
* @param {Date | string} date - 日期
|
|
13
|
+
* @param {string} type - 计算类型 'day' | 'week' | 'month' | 'quarter' | 'year' | 'hour' | 'minute' | 'second' | 'millisecond'
|
|
14
|
+
* @param {number} num - 计算数量
|
|
15
|
+
* @param {string} format - 格式模板
|
|
16
|
+
* @returns {string} 格式化后的日期字符串
|
|
17
|
+
*/
|
|
18
|
+
export declare function computeDate(compute?: string, date?: Date | string, type?: ManipulateType | undefined, num?: number, format?: string): string | undefined;
|
|
19
|
+
/**
|
|
20
|
+
* 开始时间函数
|
|
21
|
+
* @param {string} type - 类型 'date' | 'day' | 'month' | 'quarter' | 'year' | 'week' | 'isoWeek' | 'hour' | 'minute' | 'second' | 'millisecond'
|
|
22
|
+
* @param {string} format - 格式模板
|
|
23
|
+
* @returns {string} 格式化后的日期字符串
|
|
24
|
+
*/
|
|
25
|
+
export declare function startDate(type?: ManipulateType | undefined, format?: string): any;
|
|
26
|
+
/**
|
|
27
|
+
* 结束时间时间函数
|
|
28
|
+
* @param {string} type - 类型 'date' | 'day' | 'month' | 'quarter' | 'year' | 'week' | 'isoWeek' | 'hour' | 'minute' | 'second' | 'millisecond'
|
|
29
|
+
* @param {string} format - 格式模板
|
|
30
|
+
* @returns {string} 格式化后的日期字符串
|
|
31
|
+
*/
|
|
32
|
+
export declare function endDate(type?: OpUnitType, format?: string): any;
|
|
33
|
+
/**
|
|
34
|
+
* 获取时间戳函数
|
|
35
|
+
* @param {Date | string} date - 日期
|
|
36
|
+
* @returns {number} 时间戳
|
|
37
|
+
*/
|
|
38
|
+
export declare function getTimeStamp(date?: Date | string): number;
|
|
39
|
+
/**
|
|
40
|
+
* 时间戳格式化函数
|
|
41
|
+
* @param {number} timeStamp - 时间戳
|
|
42
|
+
* @param {string} format - 格式模板
|
|
43
|
+
* @returns {string} 格式化后的日期字符串
|
|
44
|
+
*/
|
|
45
|
+
export declare function formatTimeStamp(timeStamp?: number, format?: string): string;
|
|
46
|
+
/**
|
|
47
|
+
* 获取两个日期时间之间的差异函数
|
|
48
|
+
* @param {string} type - 类型 'week' | 'day' | 'month' | 'quarter' | 'year' | 'hour' | 'minute' | 'second' | 'millisecond'
|
|
49
|
+
* @param {Date | string} startDate - 起始时间
|
|
50
|
+
* @param {Date | string} endDate - 结束时间
|
|
51
|
+
* @returns {number} 日期集合
|
|
52
|
+
*/
|
|
53
|
+
export declare function getDateDiff(type: OpUnitType | undefined, startDate: Date | string, endDate?: Date | string): number;
|
|
54
|
+
/**
|
|
55
|
+
* 获取一段范围内日期函数
|
|
56
|
+
* @param {Date | string} startDate - 起始时间
|
|
57
|
+
* @param {Date | string} endDate - 结束时间
|
|
58
|
+
* @returns {array} 日期集合
|
|
59
|
+
*/
|
|
60
|
+
export declare function getRangeDate(startDate: Date | string, endDate: Date | string): Array<any>;
|
|
61
|
+
/**
|
|
62
|
+
* 获取相对时间
|
|
63
|
+
* @param {Date | string} date - 日期
|
|
64
|
+
* @returns {string} 相对时间描述
|
|
65
|
+
*/
|
|
66
|
+
export declare function getRelativeTime(date: Date | string): string;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ly-utils-lib",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.2",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "自定义函数库,集成 day.js 和 es-toolkit",
|
|
6
6
|
"private": false,
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
}
|
|
18
18
|
},
|
|
19
19
|
"scripts": {
|
|
20
|
-
"dev": "vite",
|
|
20
|
+
"dev": "vite serve dev --open",
|
|
21
21
|
"build": "tsc && vite build",
|
|
22
22
|
"preview": "vite preview",
|
|
23
23
|
"format": "prettier --write ."
|