javascript 日期时间比较

标签 javascript jquery datetime

我需要在 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)\/"
    }
}

现在我需要将 FirstDeadlineSecondDeadline 进行比较,因此在我的 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/

相关文章:

javascript - 使用 JQuery PeriodicUpdater 和 Rails 的消息流

javascript - amCharts 无法显示数据?

javascript - 客户端如何检测页面何时被添加书签?

javascript - 选择元素的子集,并将它们包装在 div 中

javascript - 启用基于另一个输入下拉字段选择的输入字段

c++ - 如何从 boost::posix_time::ptime 获取自纪元时间以来的毫秒数

javascript - angularjs 指令仅允许字母字符和数字

javascript - 如何在设备检测jquery脚本中调用一组.js文件

c# - DateTime.Now.DayOfWeek.ToString() 与 CultureInfo

php - 日期无法显示