UNPKG

812 BJavaScriptView Raw
1import format from "date-fns/format";
2import addMilliseconds from "date-fns/add_milliseconds";
3
4/**
5 * 剩余或过期时间
6 * @param {Date, Number} target - 日期或时间戳
7 * @return { year, month, date, hour, minute, second, out }
8 */
9export default function overTime(target) {
10 const baseTime = format(new Date(0), `YYYY/MM/DD 00:00:00`);
11 const milliCount = new Date(target).getTime() - Date.now();
12
13 const added = addMilliseconds(baseTime, Math.abs(milliCount));
14 const year = +format(added, "YYYY") - 1970;
15 const month = +format(added, "MM") - 1;
16 const date = +format(added, "DD") - 1;
17 const hour = +format(added, "HH");
18 const minute = +format(added, "mm");
19 const second = +format(added, "ss");
20
21 const out = milliCount < 0;
22 return { year, month, date, hour, minute, second, out };
23}