我需要在 javascript 中比较两个日期。
在我的代码中,我调用了一个 Web 服务方法,该方法序列化并以 JSON 格式返回以下类的实例
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
我忘了提到我只需要比较日期部分(这样我就不会比较自纪元以来的毫秒数)。
最佳答案
你可以做到
if(date1.toDateString() === date2.toDateString()) {
关于javascript 日期时间比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8245494/