繁体   English   中英

根据系统日期格式而不是语言显示JavaScript DateTime

[英]Display JavaScript DateTime according to system date format instead of language

当前,我们正在根据与该示例类似的语言在当前用户区域设置中显示JavaScript DateTime对象( 直接从MDN中获取 ,因为它与我们的代码匹配,但已被提取):

var date = new Date(Date.UTC(2012, 11, 20, 3, 0, 0));
console.log(new Intl.DateTimeFormat().format(date));

总的来说,这很好。 美国用户获得扭曲的斜杠格式11/20/2012而德国用户获得订购的圆点格式20.11.2012 但是,这仅根据语言而改变。 下面的屏幕快照显示了一个不同的系统区域设置:英语,但德语为DateTime格式。 在这种情况下,JavaScript示例可悲地显示了英语格式11/20/2012

由于这使我们的某些用户感到困惑,是否有一种方法可以检索当前系统的DateTime格式设置或语言环境,以便正确呈现JavaScript DateTime? 到目前为止,我在Stackoverflow上发现的所有问题仅集中于用户语言,而不是用户系统的DateTime格式设置。

使用英语但德语日期格式的系统设置

经过更深入的研究,很明显,到目前为止,这实际上是不可能的。 此StackOverflow答案包含一种呈现日期的替代方法。 我的问题和答案中提出的方式均取决于浏览器的正确实现。 要解决该问题,所有其他选项都将要求用户选择自定义DateTime格式,然后我们相应地呈现日期。 如MDN中所述,可以使用DateTimeFormatlocale参数来实现。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM