希望标题能说明一切,但无论如何我都会澄清。我很少使用 Javascript 日期,所以这让我很困惑。
因此,我通过 MVC 提取日期,并将其插入 Javascript 数组中,每次插入数组时,我都会创建一个 new Date()
与年、月和日。但每次我读到这些值时,它都会增加一个月!
代码片段:
//Get list of dates
var auditDates = [];
@foreach (var a in Model.Audits)
{
//Push into auditDates Array
@:auditDates.push(new Date('@a.AuditDate.Year', '@a.AuditDate.Month', '@a.AuditDate.Day'));
//Write Actual dates stored in audits to console without pushing into auditDates Array
@:console.log("Actual Date: " + '@a.AuditDate.Year' + " " + '@a.AuditDate.Month' + " " + '@a.AuditDate.Day');
}
//Write to console with array full of dates
console.log(auditDates);
正如您从控制台中看到的,第一个 block 是模型中存储的实际日期 - 仅用于视觉指示器。
第二个 block 是不正确的日期,它输出的是 12 月,实际上应该是 11 月!
第三个 block 是我要比较的所有日期。目前与该问题没有真正的相关性。
因此,如果有人能够指出解决错误日期问题的方向,我们将不胜感激。
问候,
最佳答案
javascript 的日期月份从 0 开始,因此 9 是第 10 个月,即十月
这是编程世界中的一个古老的(可能不幸的,可能正在消亡的)传统,请参阅旧标准(POSIX)本地时间 C 函数 http://linux.die.net/man/3/localtime
关于javascript - 将日期发送到 MVC 模型中的 Javascript new Date() 对象更改日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33935032/