使用Javascript进行日期比较

Date Comparison Using Javascript

本问题已经有最佳答案,请猛点这里访问。

我有一个日期格式字符串中的双DDMMYYYYstartdate="18/02/2013"enddate ="26/02/2013"说。

我怎么能把这些日期。我想要的是更大的enddate小于或等于startdate谢谢你的时间。


我是moment.js的粉丝,每当我需要处理日期和时间时,尤其是涉及到任何形式的解析或格式化时,我都会将它视为工具箱的核心部分。

您可以自由地手工进行解析,并手动调用适当的日期构造函数,但请考虑下面我认为简单直观的内容。

1
2
3
4
5
6
var startDate = moment.parse("18/02/2013","DD/MM/YYYY");
var endDate = moment.parse("26/02/2013","DD/MM/YYYY");

if (endDate.isAfter(startDate)) {
   // was after ..
}


这个解决方案是否适合您的需要(演示:http://jsfiddle.net/wared/mda3b/)?

1
2
3
4
5
6
7
8
9
10
11
var startdate = '18/02/2013';
var d1 = startdate.split('/');
d1 = new Date(d1.pop(), d1.pop() - 1, d1.pop());

var enddate = '26/02/2013';
var d2 = enddate.split('/');
d2 = new Date(d2.pop(), d2.pop() - 1, d2.pop());

if (d2 >= d1) {
    // do something
}

记住,月份从0开始。DNDoc:

month : Integer value representing the month, beginning with 0 for January to 11 for December.


1
2
3
4
5
var d1 = Date.parse("18/02/2013");
var d2 = Date.parse("26/02/2013");
if (d1 > d2) {
  alert ("do something");
}