Javascript 对于momentjs,我如何判断两个时刻是否代表同一天(不一定是同一时间)?

Javascript 对于momentjs,我如何判断两个时刻是否代表同一天(不一定是同一时间)?,javascript,momentjs,Javascript,Momentjs,我有两个momentjs对象,moment1和moment2: 为什么moment1.isame(moment2,'date')返回false 我的理解是,检查moment1.isame(moment2,'day')会返回它们是否是一周中的同一天(至少,这是文档中显示的情况)。那么,如果“日期”和“日期”都不起作用,那么确定这两个日期是否代表同一天的正确方法是什么 我可以发誓我过去使用过moment1.isSame(moment2,'date'),但我一定记错了…你可以同时使用'day'和'd

我有两个momentjs对象,
moment1
moment2

为什么
moment1.isame(moment2,'date')
返回false

我的理解是,检查
moment1.isame(moment2,'day')
会返回它们是否是一周中的同一天(至少,这是文档中显示的情况)。那么,如果“日期”和“日期”都不起作用,那么确定这两个日期是否代表同一天的正确方法是什么


我可以发誓我过去使用过
moment1.isSame(moment2,'date')
,但我一定记错了…

你可以同时使用
'day'
'date'

正如政府所说:

检查某一时刻是否与另一时刻相同

当包含第二个参数时,它将匹配所有相等或更大的单位。传入
将检查
。输入
将检查

moment#isAfter
moment#isBefore
一样,
moment#startOf
支持的任何时间单位都支持
moment#isame

在以下文件中:

注意:
时刻#开始日期('date')
2.13.0中作为日期的别名添加

下面是最新版本(2.17.1)的工作示例:

var moment1=力矩('01/23/17','MM/D/YYYY');
var moment2=力矩('01/23/17','MM/D/YYYY');
console.log(moment1.isame(moment2,'day'));//真的
console.log(moment1.isame(moment2,“date”);//正确
让我们保持简单

moment(date1).format('L') === moment(date2).format('L')

所以,这只是一个不一致的时刻?在其他地方,“天”是指“一周中的某一天”(例如:
moment1.get('day')
returns 1)?这是momentjs最近的变化吗(即
moment1.isame(moment2,'date')
不再有效)?我过去用过“日期”这个词,但我团队的其他人前几天在更新libs,所以momentjs可能就是其中之一…@Troy更新了我的答案,你可以同时使用
date
day
,在代码段中效果很好。在我的第一个答案中,我没有检查
date
是否有效。显然,“date”并不总是有效。看到我原来的截图。如果“day”更一致,我想我会用它。@Troy我再次更新了我的答案,添加了添加日期的版本。你使用的是哪种版本的时刻?你能提供一个小提琴或片段来显示你的问题而不是截图吗?我有2.10.3。因此,如果在2.13.0中添加了“date”别名,我想这就是问题所在。谢谢你的帮助!如果你能解释一下你是如何得出这个答案的,那就太好了。@GabrielLupu根据docs:format('L')将momentDate转换成字符串,例如:
09/04/1986
。最后我们将比较两个字符串。2个日期字符串。没有时间。