TypeScript实现当前时间与指定时间的延迟
约 278 字小于 1 分钟...
摘要
由于自动化业务需求, 项目重置时间不固定, 因此需要使用TypeScript编写一个当前时间点与指定日期的延迟计算函数, 该函数可用于闹钟/计时器等场景。
代码实现
/**
* 计算延时
* @notice 周日 - 周六 [0, 1, 2, ..., 6]
* @param target_hour 目标时间(时)
* @param target_minute 目标时间(分)
* @param days 目标时间(周)
*/
export const calc_delay = (target_hour: number, target_minute: number, days: number[]): number => {
const now = new Date();
const target = new Date(now);
target.setHours(target_hour);
target.setMinutes(target_minute);
target.setSeconds(0);
target.setMilliseconds(0);
if (target < now) target.setDate(target.getDate() + 1);
while (days.indexOf(target.getDay()) === -1) target.setDate(target.getDate() + 1);
return (target.getTime() - now.getTime()) / 1000;
};
Powered by Waline v3.3.0