打字稿时刻日期差异

Typescript moment date difference

我在使用 moment 计算天数差异时遇到了几个问题。让我揭露我的问题:

我必须从今天的日期中减去一个日期。例如 28/02/2022 - 21/02/2022。这样做:

const timeDifference = moment("28/02/2022", "DD/MM/YYYY").diff(moment(moment(), "DD/MM/YYYY"), "days");

This returns 6 days 因为它不包括我相信最后一天。因为我需要它包括最后一天,所以我做了以下事情:

const timeDifference = moment("21/02/2022", "DD/MM/YYYY")
            .add(1, 'days')
            .diff(moment(moment(), "DD/MM/YYYY"), "days"); 

This now returns 7 天,这正是我需要的。

现在的问题是我有一个 if statement 执行以下操作:

if (timeDifference < 0)

现在如果 timeDifference 是今天的日期它 returns 0 但如果它是 20/02/2022 它也是 returns 0 因为 .add 当我需要它到 return -1.

我现在正在尝试采用不同的方法来做到这一点,如果通过

if (moment("20/02/2022") < moment.utc()) {

但是当日期小于今天的日期时,这将不起作用,它将进入 if 语句。

我相信你要找的是这个:

moment("28/02/2022", "DD/MM/YYYY").diff(moment().startOf('day'), 'days')

顺便说一句,diff 中不需要双 moment(),屁股 diff 需要 moment 实例,无论来源如何。