当我的存储过程返回 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);
}
}
最佳答案
Javascript Date
对象是引用。
您不能使用 ==
来检查两个 Date
对象是否表示相同的值。
相反,比较两个日期的 getTime()
方法,它返回一个数字。
关于c# - 比较 C# MinDate 与 javascript 最小日期失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11761038/