【发布时间】:2017-12-06 09:04:41
【问题描述】:
我们目前根据与此示例类似的语言在当前用户语言环境中显示 JavaScript DateTime 对象(taken from MDN directly,因为这与我们的代码匹配但已被提取):
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 用户记录它,那将是一件很棒的事情
标签: javascript datetime datetime-format