.Net Core 项目 JavaScript 上的日期无效

Invalid date on JavaScript on .Net Core project

我有下一期:

<input type="hidden" value="@Model.EndDate" id="dateEnd" />

在隐藏输入中,我有一个来自模型的日期值,该值为 2019/12/31

所以我试图在 JavaScript 中将它用于网页中的某些逻辑,这是我如何捕捉它的:

const endDate = new Date(document.querySelector("#dateEnd").value);

当我执行此操作并执行“console.log”时,控制台显示“无效日期”。

知道为什么会这样吗?

您正在将 .NET DateTime 的值呈现给隐藏字段,没有任何格式。输出将是 31/12/2019 00:00:00,而不是您发布的 31/12/2019。您可以通过 using the browser developer tools 来查看。 JavaScript 无法将该值转换为日期。

理想情况下,在 HTML 中处理日期时,您应该使用 ISO 8601 format to prevent this kind of issue. You can use a DateTime format string 来执行此操作:

<input type="hidden" value="@Model.EndDate.ToString("yyyy-MM-dd")" id="dateEnd" />