/**
* 时间差计算
* @param Time1 对比时间
* @param Time2 时间 默认现在时刻
* @returns 对象
* all:[ 是否未来时间 , 年, 日, 时, 分, 秒]
*/
const TimeDiff = (Time1: Date | string | number, Time2: Date | null | string | number = null) => {
let D1: Date = new Date(Time1)
let D2: Date = Time2 ? new Date(Time2) : new Date()
let DiffT = Number(D2) - Number(D1)
let Diff: any= {
ms: DiffT,
s: Math.trunc((DiffT) / 1000),
m: Math.trunc((DiffT) / 60000),
h: Math.trunc((DiffT) / 3600000),
d: Math.trunc((DiffT) / 86400000),
y: Math.trunc((DiffT) / 31536000000),
all:[0, 0, 0, 0, 0, 0]
}
DiffT = DiffT / 1000
if (DiffT < 0) {
DiffT *= -1
Diff.all[0] = 1
}
Diff.all[1] = Math.trunc(DiffT / 31536000)
if (Diff.all[1]) DiffT -= Diff.all[1] * 31536000
Diff.all[2] = Math.trunc(DiffT / 86400)
if (Diff.all[2]) DiffT -= Diff.all[2] * 86400
Diff.all[3] = Math.trunc(DiffT / 3600)
if (Diff.all[3]) DiffT -= Diff.all[3] * 3600
Diff.all[4] = Math.trunc(DiffT / 60)
if (Diff.all[4]) DiffT -= Diff.all[4] * 60
Diff.all[5] = Math.trunc(DiffT)
return Diff
}
console.table(
TimeDiff(
'1987-5-8 8:8:8 '
)
);
let AAAA = TimeDiff('2023-1-8 8:8:8 ', '2029-2-9 9:9:9 ')
console.log('2023-1-8 8:8:8 ', '2029-2-9 9:9:9 ', AAAA.all[1] + '年' + AAAA.all[2] + '天' + AAAA.all[3] + '小时' + AAAA.all[4] + '分钟' + AAAA.all[5] + '秒 ' + (AAAA.all[0] ? ' 前' : ' 后'));
AAAA = TimeDiff('2023-1-8 8:8:8 ', '2021-2-9 9:9:9 ')
console.log('2023-1-8 8:8:8 ', '2021-2-9 9:9:9 ', +AAAA.all[1] + '年' + AAAA.all[2] + '天' + AAAA.all[3] + '小时' + AAAA.all[4] + '分钟' + AAAA.all[5] + '秒 ' + (AAAA.all[0] ? ' 前' : ' 后'));
李枭龙2025-01-13 15:23
AI生成文章:请以上所有知识进行深入分析,确定主要知识点,为每个知识点撰写详细说明并附上具有代表性且带有清晰注释的代码示例,接着根据内容拟定一个准确反映文档核心的标题,最后严格按照 Markdown 格式进行排版,确保文档规范美观,以满足初学者学习使用的需求。
李枭龙2024-09-05 22:04
X Lucas