我在JavaScript中有一个日期对象,我想知道该日期是否为今天。这样做的最快方法是什么?
我关注的是比较日期对象,因为人们可能有不同的时间,但今天的任何时间都应该返回true
。
答案 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');