提问人:James Campbell 提问时间:10/26/2023 最后编辑:James Campbell 更新时间:10/28/2023 访问量:55
如何获取日期时间输入以仅使用小时、分钟和秒,而没有微秒
How to get datetime input to use only hours, minutes, and seconds no microseconds
问:
我正在处理一个具有日期时间输入的 Razor 视图。我想获取他们输入的值并转换它。但是,在UI中,它一直以微秒显示,并在我提交时给我验证错误。 DateTime 属性
[DataType(DataType.Time)]
public DateTime Time { get; internal set; }
剃刀 HTML
<div class="form-group">
<input asp-for="@Model.Time">
我尝试将其格式化为字符串并指定输入,但它一直以微秒为单位显示......
答:
0赞
Ali Hamed
10/27/2023
#1
您可以使用:
@Html.EditorFor(model => model.Time)
这将以所需的格式(小时、分钟和秒)呈现输入字段,并防止显示微秒。DateTime
为了解决您的问题,您还可以尝试以下操作:
@Html.TextBoxFor(model => model.Time, "{0:HH:mm:ss}", new { @class = "form-control" })
在模型类中:
public class YourModel
{
[DataType(DataType.Time)]
[DisplayFormat(DataFormatString = "{0:HH:mm:ss}", ApplyFormatInEditMode = true)]
public DateTime Time { get; set;}
}
评论
0赞
James Campbell
10/27/2023
这非常接近,它比我所拥有的要好得多,但有两件事。1.时间输入显示秒,但不允许我输入。2. HH 应该格式化为小时的 24 小时表示,但它给了我正常的 12 小时,带有 AM PM 选项
0赞
Rojhat
10/28/2023
James,你需要改变你的约会时间的文化,你可能在你的时间里使用美国文化。stackoverflow.com/questions/35126433/......我相信这可能会对你有所帮助
0赞
Ali Hamed
10/28/2023
@JamesCampbell更新我的答案
0赞
James Campbell
11/2/2023
这只是为我提供了一个文本框,现在不再是日期输入。
评论