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

时间:2011-12-06 00:43:41

标签: javascript jquery date

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

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

5 个答案:

答案 0 :(得分:58)

您可以使用toDateString

var d = new Date()
var bool = (d.toDateString() === otherDate.toDateString());

答案 1 :(得分:8)

我认为基于toDateString()的答案会起作用,但我个人会避免使用它们,因为它们基本上都会提出错误的问题。

这是一个简单的实现:

function areSameDate(d1, d2) {
    return d1.getFullYear() == d2.getFullYear()
        && d1.getMonth() == d2.getMonth()
        && d1.getDate() == d2.getDate();
}

MDN对JS Date对象API有一个很好的概述,如果这不是你需要的那样。

答案 2 :(得分:3)

var someDate = new Date("6 Dec 2011").toDateString();
var today = new Date().toDateString();
var datesAreSame = (today === someDate);

答案 3 :(得分:2)

如果两者都是Date()对象,您可以使用它来“格式化”日期,只会在年/月/日进行比较:if(inputDate.setHours(0,0,0,0) == todaysDate.setHours(0,0,0,0));

几乎相同的问题: How to check if input date is equal to today's date?

答案 4 :(得分:0)

我更喜欢使用力矩lib

moment('dd/mm/yyyy').isSame(Date.now(), 'day');