【问题标题】:Input type="month" format in google chrome在谷歌浏览器中输入 type="month" 格式
【发布时间】:2017-12-06 07:40:40
【问题描述】:

我有一个input type="month" 控件,并且我也在使用 Angular UI 引导程序。 当我在 IE 中选择一个月时,它显示为yyyy-MM 格式。但在谷歌浏览器中,它显示为MMMM yyyy 格式。

本地化时,日历控件中的月份显示为本地化文本,但在输入框中选择后显示英文月份名称。

所需的解决方案:在输入框中显示本地化月份或在谷歌浏览器中将格式更改为yyyy-MM

【问题讨论】:

  • 您担心改变浏览器中控件的外观?

标签: html google-chrome datepicker angular-bootstrap angular-bootstrap-calendar


【解决方案1】:

需要注意的一点是,显示的日期格式与 实际价值;大多数用户代理以 适合区域设置的表单,基于用户的设置区域设置 操作系统,而日期值的格式始终为 yyyy-MM。

https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/month

因此,由于这是基于日期区域设置格式,我认为您无法通过使用 <input type=month> 获得您想要的 - 但是您从中获得的值应该始终是根据规范采用YYYY-MM 格式。

如果日期的显示方式很重要,我会考虑一些用于日期控件的 HTML5 之前的解决方案。比如这样:https://jqueryui.com/datepicker/

【讨论】:

  • 我不明白反对意见。这是正确的答案。显示格式由客户端决定,您无能为力。从用户体验的角度来看,您不应该这样做。用户希望日期字段在每个网站上的行为都相同,因此我们开发人员应尽可能使用这些本地客户端功能,并且仅在客户端不支持时回退到自定义日期选择器(如 AngularJS-UI 引导程序、jQueryUI 或其他)输入类型。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-11-16
  • 2014-01-09
  • 1970-01-01
  • 2012-01-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多