输入类型“datetime-local”的日期时间格式是什么

问题描述 投票:0回答:1

我有一个 ASP.NET Core 6.0 MVC 项目。我从 sql 获取日期数据并将其显示在 html 页面中。问题是,我的日期输入从未填满。 HTML 部分是:

<input type="datetime-local" value="@Model.Date" class="inputwidth">

我的模型日期格式是 day.month.year 00:00:00

我使用了几种格式,但都不起作用。我应该使用什么格式以及如何转换它?

c# html asp.net-core-mvc asp.net-core-6.0
1个回答
1
投票

应该没关系,但这是ISO8601。如果

Model.Date
DateTime
绑定就可以工作。

System.DateTime
没有格式,它是一个二进制值。事实上,该值在内部存储为
long
刻度计数。所有数据库(SQLite 除外)中的日期类型也没有格式,它们也是二进制值。

无论显示什么文本,输入的值将始终采用 ISO8601 形式。来自 Mozilla 的文档

input type='datetime-local'

需要注意的是,显示的日期和时间格式与实际值不同;显示的日期和时间根据操作系统报告的用户区域设置进行格式化,而日期/时间值始终采用

YYYY-MM-DDThh:mm
格式。例如,当上面的值提交到服务器时,它会看起来像
partydate=2017-06-01T08:30

假设

Date
属性是
DateTime
,ASP.NET Core 会将其值绑定到
input
元素的
Value
属性并自动返回。

名称

datetime-local
用于提醒开发人员,
input
元素代表最终用户的时间,而不是服务器的时间或 UTC。没有
datetime
datetime-UTC
类型。

© www.soinside.com 2019 - 2024. All rights reserved.