我有一个在 SQL Server 数据库之上运行的 ASP.NET MVC 应用程序。在其中一个 View 上,从数据库中获取日期值,但不知何故,当我尝试将其解析为日期时,Date.parse
返回NaN
。当我执行 console.log
时,日期看起来像这样 2016-03-29T11:54:34.94
。显然,它是从 DateTime
C# 对象转换为其等效的 JSON 对象的。为什么 JavaScript 会认为它不是有效日期,但它是直接来自数据库的?
最佳答案
如果您引用下面的链接,您会注意到在 javascript Date
对象中存在某些构造函数,并且并非所有格式的日期都会在不同浏览器中的 javascript 中创建有效的对象。
https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Date
为了安全起见,我建议您将 [2016, 3, 29, 12, 0, 0]
之类的数组传递给 UI,然后使用 JavaScript,如下所示
var dt = new Date(arr[0], arr[1], arr[2], arr[3], arr[4], arr[5]);
所有浏览器都支持此构造函数,并将为您提供有效日期
关于javascript - 在 JavaScript 中使用 Date.parse 时,有效日期由什么组成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36285742/