使用Javascript进行日期比较

时间:2013-10-23 08:48:06

标签: javascript

我有DDMMYYYY格式的两个日期字符串。说startdate="18/02/2013"enddate ="26/02/2013"

如何比较这些日期。我希望enddate大于或等于startdate
谢谢你的时间。

3 个答案:

答案 0 :(得分:3)

我是moment.js的粉丝,每当我必须处理日期和时间时,我认为它是我的工具包的核心部分 - 特别是当涉及任何形式的解析或格式化时

您可以手动进行解析并手动调用相应的Date构造函数,但请考虑以下我认为简单直观的内容。

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 ..
}

答案 1 :(得分:2)

此解决方案是否符合您的需求(演示:http://jsfiddle.net/wared/MdA3B/)?

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. MDN doc开头:

  

month:表示月份的整数值,从1月的0开始到12月的11。

答案 2 :(得分:0)

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