用momentjs检查一天是否是同一天(但不是一年)

时间:2017-05-23 08:03:19

标签: momentjs

我使用momentjs确定日期是否为人生日。但由于某些原因moment总是返回false,我不确定原因。

使用过的代码

moment(dateObject).isSame(moment(otherDateObject), 'day')

记录各个日期和isSame()

时返回的内容

enter image description here

关于这个问题的任何想法?正如您所看到的那样,2时刻实例中唯一的区别就是年份。

来自momentjs

  

过去一天将检查日,月和年

那么我如何检查它是否匹配日期和月份?

2 个答案:

答案 0 :(得分:3)

如果您只想查看月份和月份的某一天,可以使用date()month() getter编写自己的函数。

这是一个示例:

var m1 = moment('2017-01-25');
var m2 = moment('2015-02-25');
var m3 = moment('2015-02-25');

function isSameDayAndMonth(m1, m2){
  return m1.date() === m2 .date() && m1.month() === m2.month()
}

console.log( isSameDayAndMonth(m1, m2) );
console.log( isSameDayAndMonth(m1, m3) );
console.log( isSameDayAndMonth(m2, m3) );
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js"></script>

答案 1 :(得分:1)

嗯,这些日子被认为是不同的,因为它们在不同年份出现并且不是同一天。

来自https://momentjs.com/docs/

moment('2010-01-01').isSame('2010-02-01', 'day');   // false, different month

如果你只是想检查一天是否相同,我会尝试这样的事情:

if (moment(dateObject, "D") === moment(otherDateObject, "D"))

您可以使用&#34; E&#34;星期几......