确定日期是否在JavaScript中的最佳方法是什么?

leo*_*ora 21 javascript jquery date

我在JavaScript中有一个日期对象,我想知道该日期是否为今天.这样做的最快方法是什么?

我担心的是比较日期对象,因为人们可能有不同的时间,但今天的任何时间都应该返回true.

Jos*_*kle 66

你可以使用toDateString:

var d = new Date()
var bool = (d.toDateString() === otherDate.toDateString());
Run Code Online (Sandbox Code Playgroud)


rec*_*ecf 8

基于toDateString()我的想法的答案将会工作,但我个人会避免它们,因为他们基本上会问错误的问题.

这是一个简单的实现:

function areSameDate(d1, d2) {
    return d1.getFullYear() == d2.getFullYear()
        && d1.getMonth() == d2.getMonth()
        && d1.getDate() == d2.getDate();
}
Run Code Online (Sandbox Code Playgroud)

如果这不是您所需要的,MDN对JS Date对象API有一个很好的概述.

  • 请不要链接到W3Schools.他们有[误导性和经常不正确的内容](http://w3fools.com/).相反,使用更知名的来源,如[Mozilla优秀的开发者网络](https://developer.mozilla.org/en-US/) (3认同)

Chr*_*tow 5

var someDate = new Date("6 Dec 2011").toDateString();
var today = new Date().toDateString();
var datesAreSame = (today === someDate);
Run Code Online (Sandbox Code Playgroud)