我需要在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