我有两个约会,我要检查一个约会是否在另一个约会之前。 我知道你必须将日期解析为JS日期对象,然后用毫秒来检查它。
但问题是,在我的数据库中,dateTimes是这样存储的。
10-mei-2012 09:36
所以我的问题是如何比较其中两个日期并检查日期1是否在date2之前?哦,为了记录,我也使用jquery来获取这些值。
var dateB = $('#DATUM_BEGIN').val();
var dateE = $('#DATUM_EINDE').val();
亲切的问候
燕姿
答案 0 :(得分:5)
在该格式中,您可以按原样比较字符串,这是安全的。所以只需使用
if (dateB < dateE) ...
答案 1 :(得分:0)
http://www.datejs.com/可能会有所帮助。它是一个比较日期的jquery插件。
答案 2 :(得分:0)
您显示的格式是“大多数”ISO-8601组合日期格式,其设计可与纯文本相媲美。
你所拥有的和纯ISO-8601之间的唯一区别是空格字符需要有一个'T'。
http://en.wikipedia.org/wiki/ISO_8601
所以,如果你可以对字符串进行排序,你知道哪一个字符串首先出现。
答案 3 :(得分:-2)
这是一个将MySQL DATETIME转换为JS对象的函数found while googling
function mysqlTimeStampToDate(timestamp) {
var regex=/^([0-9]{2,4})-([0-1][0-9])-([0-3][0-9]) (?:([0-2][0-9]):([0-5][0-9]):([0-5][0-9]))?$/;
var parts=timestamp.replace(regex,"$1 $2 $3 $4 $5 $6").split(' ');
return new Date(parts[0],parts[1]-1,parts[2],parts[3],parts[4],parts[5]);
}
以下是如何使用它的一个示例:
$(function(){
var dateB = mysqlTimeStampToDate($('#DATUM_BEGIN').val());
var dateE = mysqlTimeStampToDate($('#DATUM_EINDE').val());
if(dateB < dateE){
// dateB is older
} else {
// dateB is newer
}
});