使用date toLocaleString时,日期时间格式会在哪里?

时间:2014-12-12 03:31:31

标签: javascript datetime locale

我正面临着与日期格式相关的问题。

我对如何格式化日期对象的输出字符串感到困惑。我在调试中做了一些测试,当我调用toLocalString时,输出不遵循操作系统中的语言环境设置。

以下是该方法的输出: " 1/12 / 2015,8:12:12 PM"

但我在os语言环境设置中所做的是 enter image description here

为什么toLocaleString以这种方式格式化日期?这些格式来自哪里?
在哪里更改格式设置浏览器正在使用?

1 个答案:

答案 0 :(得分:1)

为什么toLocaleString以这种方式格式化日期?
在返回字符串之前,toLocaleString() 不会监视用户的区域设置格式设置。

这些格式来自哪里?
格式基于用户表示日期和时间的时区约定。因此,格式与机器无关。

在哪里更改格式设置浏览器正在使用?
如上所述,格式取决于实现。它对你没有任何帮助。我认为浏览器不提供这样的功能。

作为参考,我在下面列出了它的文档。

Javascript: The Definitive Guide中提到的Date.toLocaleString()文档说:

  

<强>返回
  由日期指定的日期和时间的字符串表示形式。日期和时间在本地时区中表示,并使用当地适当的约定进行格式化。

     

<强>用法
  toLocaleString()使用本地时区将日期转换为字符串。此方法还使用本地约定进行日期和时间格式设置,因此格式可能因平台和国家/地区而异。 toLocaleString()返回一个字符串格式,该字符串可能是用户首选的日期和时间格式。