javascript - 将日期发送到 MVC 模型中的 Javascript new Date() 对象更改日期

标签 javascript c# asp.net-mvc date

希望标题能说明一切,但无论如何我都会澄清。我很少使用 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);

enter image description here

正如您从控制台中看到的,第一个 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/

相关文章:

c# - 获取所有字母字符的数组

c# - EF7 应用程序出现 ASP.NET 5 IIS 500 错误

javascript - 如何只触发最后一个 setTimeout

javascript - 允许用户一键加入特定游戏服务器的 HTML 代码

javascript - IE6-7 JavaScript

javascript - 在下拉列表中选择值时使用 ajax 发布 MVC 值

c# - "Timeout while getting a connection from pool."Hangfire.Postgres

javascript - 为什么 if(number <=10) 不起作用?

c# - CreateFileAsync 创建被阻止的文件

c# - 如何使用 Entity Framework 6 在字段中存储对象列表