我需要在javascript中比較兩個日期。javascript日期時間比較
在我的代碼我打電話JSON格式序列化的Web服務方法,並返回下面的類
public class MyPeriod
{
public int PeriodID { get; set; }
public DateTime BeginDate { get; set; }
public DateTime FirstDeadline { get; set; }
public DateTime SecondDeadline { get; set; }
public DateTime EndDate { get; set; }
}
這將產生一個JSON片段像這樣的實例:
{
"d": {
"PeriodID":26,
"BeginDate":"\/Date(1321743660000)\/",
"FirstDeadline":"\/Date(1322002860000)\/",
"SecondDeadline":"\/Date(1322002860000)\/",
"EndDate":"\/Date(1322168400000)\/"
}
}
現在我需要比較FirstDeadline
與SecondDeadline
,所以在我的javascript我有這樣的一個片段
var date1 = eval(data.d.FirstDeadline.replace(/\/Date\((\d+)\)\//gi, "new Date($1)"));
var date2 = eval(data.d.SecondDeadline.replace(/\/Date\((\d+)\)\//gi, "new Date($1)"));
if (date1 === date2) {
...
}
不幸的是,即使日期具有相同的值,平等比較也不起作用。 有什麼幫助嗎?
更新1
我忘了提,我需要比較只有日期部分(這是因爲這樣的時代我沒有比較毫秒)。
我不知道爲什麼不工作,但是你可以在日期轉換爲字符串(.toString,.toGMTString,.toUTCString,.toISOString)並將其用於比較。似乎工作。 – ampersand
也請參閱:http://stackoverflow.com/questions/7244513/javascript-date-comparisons-dont-equal – ampersand