Date-fns:倒计时到特定日期
Date-fns: Countdown to a specific date
我正在使用 date-fns
。我需要为下一个月的 10 号创建倒计时。
例如,如果今天是2月5日,那么倒计时应该到2月10日。如果今天是2月15日,那么它应该倒计时到3月10日,依此类推。
如何使用 date-fns
甚至普通 javascript 来做到这一点?
你必须先找到目标日期,比如这个:
const today = startOfToday();
let target = setDate(today, 10);
if (isBefore(target, today)) {
target = addMonths(target, 1);
}
然后计算距离目标的剩余时间:
const diff = differenceInSeconds(target, new Date());
const days = Math.floor(diff / 86400);
const hours = Math.floor((diff - days * 86400) / 3600);
const minutes = Math.floor((diff - days * 86400 - hours * 3600) / 60);
const seconds = diff - days * 86400 - hours * 3600 - minutes * 60;
使用天、小时、分钟、秒 用于创建倒计时。不要忘记从 date-fns
.
导入所需的函数
我正在使用 date-fns
。我需要为下一个月的 10 号创建倒计时。
例如,如果今天是2月5日,那么倒计时应该到2月10日。如果今天是2月15日,那么它应该倒计时到3月10日,依此类推。
如何使用 date-fns
甚至普通 javascript 来做到这一点?
你必须先找到目标日期,比如这个:
const today = startOfToday();
let target = setDate(today, 10);
if (isBefore(target, today)) {
target = addMonths(target, 1);
}
然后计算距离目标的剩余时间:
const diff = differenceInSeconds(target, new Date());
const days = Math.floor(diff / 86400);
const hours = Math.floor((diff - days * 86400) / 3600);
const minutes = Math.floor((diff - days * 86400 - hours * 3600) / 60);
const seconds = diff - days * 86400 - hours * 3600 - minutes * 60;
使用天、小时、分钟、秒 用于创建倒计时。不要忘记从 date-fns
.