【问题标题】:MomentJS Day diff dates only excluding timeMomentJS 日差异日期仅不包括时间
【发布时间】:2014-11-03 11:11:13
【问题描述】:

有没有办法用 momentJS 比较 2 个没有时间的日期?

我尝试了各种格式,但似乎无法正常工作。

我可以使用 dateTime 正常工作:

var ExpiryDate = new Date("11/13/2014 11:13:00");
var daysDiff = moment(ExpiryDate).diff(moment(Date.now()), 'days');

无论一天中的什么时候,我都希望得到 14 天的结果。

谢谢

【问题讨论】:

  • 如果你想根据时间添加一天,然后比较两个日期的时间部分,如果需要添加...

标签: javascript momentjs


【解决方案1】:

您可以使用startOf 函数删除两个日期的时间分量

moment(ExpiryDate).startOf('day').diff(moment(Date.now()).startOf('day'), 'days');

【讨论】:

  • 注意:此方法会更改原始日期。对于“day”,它实际上将 existing 对象的分钟、秒和小时设置为 0(因此速度非常快)。在这种情况下,您正在创建一个新对象并对其进行更改,因此没有实际的副作用,但是如果您要执行 ExpiryDate.startOf('day') 而不创建新的 moment,那么它将更改原始对象。如果你好奇,这里是实现:github.com/moment/moment/blob/…
猜你喜欢
  • 1970-01-01
  • 2012-08-22
  • 1970-01-01
  • 1970-01-01
  • 2022-11-16
  • 1970-01-01
  • 2012-08-06
  • 1970-01-01
  • 2021-06-20
相关资源
最近更新 更多