如何检查两个日期是否在同一日历日

And*_*rle 33 javascript date

如何检查两个日期是否在同一天.我提出了这个解决方案,但也许有更好的方法来做到这一点:

 var actualDate = new Date();
 var isNotToday = dateToCheck.getDay() !== actualDate.getDay() || dateToCheck < actualDate - 24 * 60 * 60 * 1000;
Run Code Online (Sandbox Code Playgroud)

小智 80

另一种选择是使用.toDateString()函数将两个日期解析为字符串.函数格式输出到:"Wed Wed 28 1993".然后你可以比较两个日期字符串.

actualDate.toDateString() === dateToCheck.toDateString()
// returns true if actualDate is same day as dateToCheck
Run Code Online (Sandbox Code Playgroud)

这是一个Plunker:

http://plnkr.co/edit/J5Dyn78TdDUzX82T0ypA

还有更多来自MDN:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toDateString


Jam*_*iec 22

如何检查同一天,一个月和一年:

var isSameDay = (dateToCheck.getDate() == actualDate.getDate() 
        && dateToCheck.getMonth() == actualDate.getMonth()
        && dateToCheck.getFullYear() == actualDate.getFullYear())
Run Code Online (Sandbox Code Playgroud)


Nie*_*sol 6

检查日,月和年最安全:

var isNotToday = dateToCheck.getDate() != actualDate.getDate()
      || dateToCheck.getMonth() != actualDate.getMonth()
      || dateToCheck.getFullYear() != actualDate.getFullYear();
Run Code Online (Sandbox Code Playgroud)

这将确保您在DST和闰年时不会产生奇怪的现象,否则可能会产生干扰.