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.

导入所需的函数