我如何比较以下两个日期?
var start_date = $('#start_date').text();
var end_date = $('#end_date').text();
alert(start_date + ' ' + end_date); // '2013-01-01 2013-01-02'
# how to do the following?
if (start_date > end_date) {...}
答案 0 :(得分:16)
如果始终采用此格式(yyyy-mm-dd/2013-01-01
),则可以比较为字符串
var d1 = '2013-11-01', d2 = '2013-11-02';
console.log(d1 < d2); // true
//console.log(d1.getFullYear()); won't work, not date object
词典排序的重要利用表现在 ISO 8601日期格式化方案,表示日期为 YYYY-MM-DD。这个日期订购有助于直截了当 计算机化的日期排序,使排序算法不 需要以不同的方式处理日期字符串的数字部分 从一串非数字字符开始,日期将被排序 按时间顺序排列。但是,请注意,为了这个工作,那里 年份必须始终为四位数,本月份为两位数,两位数字 当天
但是,您可以使用它来比较日期
var d1 = new Date("11-01-2013");
var d2 = new Date("11-04-2013");
console.log(d1);
console.log(d1.getMonth()); // 10 (0-11)
console.log(d1.getFullYear()); // 2013
console.log(d1.getDate()); // 1
console.log(d1 < d2); // true
答案 1 :(得分:1)
您可以尝试这样:
var d1 = Date.parse("2013-11-01");
var d2 = Date.parse("2013-11-04");
if (d1 < d2)
答案 2 :(得分:1)
尝试使用时间戳。
var date1 = +new Date("2013-11-01");
var date2 = +new Date("2013-11-04");
console.log(date1);
console.log(date2);
console.log(date1>date2);