在不同的浏览器中,输入时间字段以不同的格式显示

时间:2015-08-05 10:24:47

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

我创建了一个输入时间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并强制他们在所有浏览器中以相同的格式显示时间,无论他们运行的机器的时间设置如何。

谢谢!

1 个答案:

答案 0 :(得分:1)

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

input type="time"显示时间,具体取决于系统中定义的区域设置

这同样适用于日期。

  

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

有很多不同的解决方案。最常用的是input type="text"。还有JQuery插件可以处理它。 wid库使用的是moment.js