2012-01-03 137 views
5

我的时区中的下午好。比较一天中的月份和年份

我想比较两个日期,其中一个是由用户插入,另一个是当前日期。的代码片段:

var dateString = "2012-01-03" 
    var date = new Date(dateString); 
    date < new Date() ? true : false; 

这返回true,我觉得这两个日期对象转换成毫秒,然后进行比较引擎盖下,如果是这样的“今天”的对象是更大的,因为小时和分钟所以我想要做的就是比较日期和月份和年份。最好的方法是什么?创建一个新的Date对象,然后在比较之前将小时分钟和毫秒重置为零?或从两个日期对象中提取月份和年份的日期并进行比较?有没有更好的方法?

在此先感谢 致以最良好的问候。 新年快乐

+0

更多信息,被发现在: - http://stackoverflow.com/questions/492994/compare-two-dates-with-javascript – 2016-01-25 18:22:17

回答

14

设置您创建的date to zeros的时间部分。

var d = new Date(); 
d.setHours(0,0,0,0); 
+1

完美的解决方案 – tt0686 2012-01-03 15:33:15

0

因为它是在YYYY-MM-DD格式,你可以建立电流从Date对象YYYY-MM-DD,做一个普通的字符串比较:关于日期转换

var currentDate = new Date(); 
var year = currentDate.getFullYear(); 
var month = currentDate.getMonth()+1; 
if (month < 10) month = "0" + month; 
var day = currentDate.getDate(); 
if (day < 10) day = "0" + day; 
currentDate = year + "-" + month + "-" + day; 

var dateString = "2012-01-03" 
var compareDates = dateString < currentDate ? true : false; 
document.write(compareDates);