1

当我的 sproc 返回 null 时,它会作为 MinDate 进入 C# DateTime。如果此表单的日期到达前端(MVC/Razor),我会在 JavaScript 中创建自己的“MinDate”类型以进行比较。如果它们匹配,我想从 JavaScript 函数返回一个空字符串。然而,虽然这两个日期匹配,但我的“if”语句中返回空字符串的分支永远不会被输入。我已经看过这两个日期,直到我睁一只眼闭一只眼,它们看起来很匹配。为什么我的函数返回 MinDate 而不是空字符串?(顺便说一下,“toString()”方法来自 DateJS 库。)

// Setup a minDate to mimic C#'s Date.MinDate constant.
var minDate = new Date();
minDate.setFullYear(1, 0, 1);
minDate.setHours(0, 0, 0, 0);

function checkDateWithConfig(d, c) {

    alert("Date: " + d);
    alert("minDate: " + minDate);

    if (d == minDate) {
        alert("dates matched");
        return "";
    }
    else
    {
        return d.toString(c);
    }
}

来自 C# 的 MinDate:

我的 JavaScript

4

1 回答 1

6

JavascriptDate对象是引用。您不能使用它==来检查两个Date对象是否表示相同的值。

相反,比较getTime()两个日期的方法,它返回一个数字。

于 2012-08-01T14:07:06.127 回答