我创建了一个输入时间HTML元素,使用以下行:
<input type="time" id="startTime" value="@DateTime.Now.ToString("HH:mm")" />
我使用C# Razor
语法,但这并不重要。
我在谷歌浏览器和Mozilla
Firefox中都进行了检查,并且两种时间都以24小时格式表示。后来,当我与同事分享代码时,在他们的Chrome
版本中,时间用12小时格式表示,AM和PM。有没有办法在我的HTML
代码中指定时间应该在所有浏览器中以一种方式表示。
有类似的问题here,但是3年前被问过,接受的答案始于:
此功能仍在草稿中。每个浏览器都以不同的方式显示它。
所以我想知道这个问题是否在此期间得到了解决。如果没有,欢迎提出任何好时组件的建议。我想到的最简单的方法是使用单独的选择标签,但我更喜欢使用包含小时和分钟的单个组件。
编辑: 我意识到问题在于浏览器运行的机器的本地设置,以及在更改同事的设置之后。笔记本电脑工作正常。我想知道是否有办法迫使所有浏览器以相同的格式显示时间,无论机器的设置如何。我在几个地方使用这些字段,所以我最好坚持使用它们而不使用不同的HTML组件(因为我不想在我的代码中做太多更改)。我注意到的另一个问题是输入时间字段不像Mozilla中的下拉列表(在Chrome中它是下拉列表)。
很快,现在的问题是:我如何使用input time fields
并强制他们在所有浏览器中以相同的格式显示时间,无论他们运行的机器的时间设置如何。
谢谢!
答案 0 :(得分:1)
它与浏览器无关,而与系统设置无关。
input type="time"
显示时间,具体取决于系统中定义的区域设置。
这同样适用于日期。
如何使用输入时间字段并强制它们显示时间 所有浏览器中的格式,无论时间设置
有很多不同的解决方案。最常用的是input type="text"
。还有JQuery插件可以处理它。 wid库使用的是moment.js