【发布时间】:2020-02-03 04:30:31
【问题描述】:
我在 ng-repeat 场景中使用 html 日期输入,尽管我的计算机区域设置设置为 dd/mm/yyyy,但它似乎默认为 mm/dd/yyyy。
<script src="//unpkg.com/angular/angular.js"></script>
<body ng-app>
<input class="form-control" type="date" ng-model="attendee.Dob"/>
</body>
有没有简单的方法来重新格式化?我似乎找不到任何有用的东西,因为一切都表明<input> 元素应该使用我的本地日期选择器设置。
抱歉,如果我在这里遗漏了什么。
【问题讨论】:
-
依靠浏览器观察区域设置进行格式化是令人担忧的,只是不要这样做。即使它对多种语言都可靠地工作,您也取决于用户是否对其进行了适当的设置。最好使用明确的格式(例如 2020 年 1 月 27 日)并保持不变。即使尝试使用默认语言也是令人担忧的,因为没有设置它的标准,也没有实现需要或必须支持的语言。
-
谢谢@RobG。您是否有任何示例说明如何最好地实现这一点?
-
不,尽管您可以尝试航空公司和旅行预订网站,但我讨厌不允许我使用键盘输入日期的网站。我的重点是可用性和明确性。格式的本地化导致了一个无限复杂的兔子洞,并且由于 MDN 上给出的原因,默认的 HTML 日期输入实际上毫无价值。有大量的库、插件、小部件等来完成这项工作。我不能在这里推荐一个,只需搜索并选择一个。如果您有问题,请再次发布。 :-)
标签: javascript html angularjs date input