2

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

我如何比较这些日期。我想enddate大于或等于startdate
Thanks for Your Time。

4

3 回答 3

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 ..
}
于 2013-10-24T05:36:44.307 回答
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 文档

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

于 2013-10-23T08:58:07.180 回答
0
var d1 = Date.parse("18/02/2013");
var d2 = Date.parse("26/02/2013");
if (d1 > d2) {
  alert ("do something");
}
于 2013-10-23T08:58:30.683 回答