.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" />
我有下一期:
<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" />