比较两个javascript字符串日期

Dav*_*542 2 javascript jquery

我如何比较以下两个日期?

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) {...}
Run Code Online (Sandbox Code Playgroud)

The*_*pha 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
Run Code Online (Sandbox Code Playgroud)

请参阅词典顺序

在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
Run Code Online (Sandbox Code Playgroud)

检查这个小提琴.