Javascript HTML输入[日期]默认为mm/dd/yyyy,不考虑区域设置

Javascript HTML输入[日期]默认为mm/dd/yyyy,不考虑区域设置,javascript,html,angularjs,date,input,Javascript,Html,Angularjs,Date,Input,我在ng repeat场景中使用html日期输入,它似乎默认为mm/dd/yyyy,尽管我的计算机区域设置设置设置为dd/mm/yyyyy 来自文档: 日期输入听起来很方便——它们为选择日期提供了一个简单的界面,并且它们规范化了发送到服务器的数据格式,而不考虑用户的区域设置。但是,目前存在一些问题,因为它的浏览器支持有限 不支持浏览器通常会降级为文本输入,但这会在用户界面的一致性(显示的控件不同)和数据处理方面产生问题 第二个问题比较严重;在支持日期输入的情况下,该值将标准化为格式yyyy-

我在
ng repeat
场景中使用html日期输入,它似乎默认为
mm/dd/yyyy
,尽管我的计算机区域设置设置设置为
dd/mm/yyyyy


来自文档:

日期输入听起来很方便——它们为选择日期提供了一个简单的界面,并且它们规范化了发送到服务器的数据格式,而不考虑用户的区域设置。但是,
目前存在一些问题,因为它的浏览器支持有限

不支持浏览器通常会降级为文本输入,但这会在用户界面的一致性(显示的控件不同)和数据处理方面产生问题

第二个问题比较严重;在支持日期输入的情况下,该值将标准化为格式
yyyy-mm-dd
。但是通过文本输入,浏览器无法识别日期的格式,并且有许多不同的格式供人们书写日期

目前,以跨浏览器方式处理表单中日期的最佳方法是让用户在单独的控件中输入日期、月份和年份,或者使用jQuery日期选择器等JavaScript库

有关详细信息,请参阅



日期:{{attendee.Dob}日期:'MM/dd/yyyy'}


我知道这会在手动选择时将日期更改为正确的格式,但datepicker在首次启动时仍然显示mm/dd/yyyy。使用dd/mm/yyyy格式手动键入日期的人仍会遇到问题。依靠浏览器观察区域设置进行格式设置是令人担忧的,只是不要这样做。即使它在各种语言中都能可靠地工作,您也取决于用户对它的适当设置。最好使用明确的格式(如2020年1月27日),并保持不变。即使尝试使用默认语言也是令人担忧的,因为没有设置默认语言的标准,也没有实现需要或必须支持的语言。谢谢@RobG。你有什么例子可以说明如何最好地实现这一点吗?没有,尽管你可能会尝试航空公司和旅游预订网站,尽管我讨厌那些不让我用键盘输入日期的网站。我的重点是可用性和明确性。格式的本地化导致了一个无止境的复杂兔子洞,基于MDN上给出的原因,默认的HTML日期输入实际上毫无价值。有大量的库、插件、小部件等来完成这项工作。我不能在这里推荐一个,只需搜索并选择一个。如果您有问题,请再次发布。:-)