【问题标题】:In different browsers input time field shows in different formats在不同的浏览器中输入时间字段以不同的格式显示
【发布时间】:2015-08-05 10:24:47
【问题描述】:

我已经创建了一个输入时间 HTML 元素,使用这一行:

<input type="time" id="startTime" value="@DateTime.Now.ToString("HH:mm")" />

我正在使用C# Razor 语法,但这并不重要。

我在 Google Chrome 和 Mozilla Firefox 中都检查了它,并且这两种时间都以 24 小时格式表示。后来,当我与同事分享代码时,在他们的Chrome 版本中,时间以上午和下午的 12 小时格式表示。有没有办法在我的HTML 代码中指定时间应该在所有浏览器中以一种方式表示。

有类似的问题here,但它是在 3 年前提出的,并且接受的答案以:

此功能仍处于草稿阶段。每个浏览器的显示方式不同。

所以我想知道该问题是否已在此期间得到解决。如果没有,欢迎任何关于美好时光组件的建议。我想到的最简单的方法是使用单独的选择标签,但我更喜欢使用包含小时和分钟的单个组件。

编辑: 我意识到问题出在运行浏览器的机器的本地设置上,在更改同事笔记本电脑上的设置后,它工作正常。我想知道是否有一种方法可以强制所有浏览器以相同的格式显示时间,无论机器的设置如何。我在几个地方使用了这些字段,所以我最好坚持使用它们,而不是使用不同的 HTML 组件(因为我不想对我的代码进行太多更改)。我注意到的另一个问题是输入时间字段不像 Mozilla 中的下拉列表(而在 Chrome 中它是下拉列表)。

简而言之,现在的问题是:我如何使用input time fields 并强制它们在所有浏览器中以相同格式显示时间,无论它们运行的​​机器的时间设置如何。

谢谢!

【问题讨论】:

    标签: javascript html asp.net-mvc google-chrome razor


    【解决方案1】:

    与浏览器无关,与系统设置有关。

    input type="time" 根据系统上定义的区域设置显示时间。

    日期也是如此。

    如何使用输入时间字段并强制它们以相同的方式显示时间 在所有浏览器中格式化,无论时间设置如何

    有很多不同的解决方案。最常用的是input type="text"。也有可以处理的 JQuery 插件。一个被广泛使用的js库是moment.js

    【讨论】:

    • 你说得对,同时我也意识到了这一点。我现在编辑了我的问题。
    猜你喜欢
    • 1970-01-01
    • 2011-04-11
    • 2014-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-18
    • 1970-01-01
    • 2016-09-06
    相关资源
    最近更新 更多