Mat*_*ith 14 javascript browser locale localization
我试图了解在各种浏览器中运行的JavaScript如何确定Date使用该方法时JavaScript 对象将使用的语言环境toLocaleString().
我已经通过Windows控制面板更改了系统的语言和区域设置,我还将每个浏览器的语言设置更改为相同.该函数仍返回英文日期.
Windows上是否有必须手动设置的注册表设置?我错过了某处的设置吗?或者我是否必须获取特定区域的Windows安装光盘?
我最喜欢的一篇关于JScript行为的博客的精彩文章:
我相信我们现在在IE中"始终默认为美英"模式.这令人困惑,因为脚本引擎能够更改用于错误消息的语言环境,而不依赖于用于格式化日期,数字等的语言环境.
和
Date.prototype.toLocaleDateString,toLocaleTimeString和toLocaleString因Win32 NLS API中的一些奇怪怪异而变得复杂.要解决各种问题,只能定位1600到10000 AD之间的日期.公元2240年后的希伯来日期格式也不受支持.一旦我们跳过这些障碍,Win32 API GetDateFormat和GetTimeFormat将用于格式化字符串.(我隐约回想起那里还有一个涉及泰国日历的错误,但我不记得细节了.)
toLocaleString方法在格式化日期时依赖于底层操作系统.它使用运行脚本的操作系统的格式约定将日期转换为字符串.例如,在美国,月份出现在日期(04/15/98)之前,而在德国,日期出现在月份之前(15.04.98).如果操作系统不符合2000年标准,并且在1900年之前或2000年之前未使用全年,则toLocaleString将返回不符合2000年的字符串.转换操作系统未正确格式化的年份时,toLocaleString的行为与toString类似.