MomentJS Day diff日期仅排除时间

AJT*_*ECH 12 javascript momentjs

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

我尝试了各种格式,但似乎无法让它工作.

我用dateTime正常工作:

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

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

谢谢

cod*_*box 23

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

moment(ExpiryDate).startOf('day').diff(moment(Date.now()).startOf('day'), 'days');
Run Code Online (Sandbox Code Playgroud)

  • 注意:此方法会更改原始日期.对于'day',它确实将*existing*对象的分钟,秒和小时设置为0(因此它非常快).在这种情况下,你正在创建一个新对象并对其进行修改,因此没有实际的副作用,但如果你要做`ExpiryDate.startOf('day')`而不创建一个新的'moment`那么它将改变原始对象.如果你很好奇,这是实施:https://github.com/moment/moment/blob/497f918515ae6ab900f008f19523b1e4ae5e2450/src/lib/moment/start-end-of.js (3认同)