我需要一种根据用户的区域设置自动格式化 Date 和 Number 对象的方法。
到目前为止,我一直在使用toLocaleString()
日期函数。对于数字,toLocaleString()
也可以使用,但正如您在我准备的jsFiddle中看到的那样,不同浏览器的结果差异很大。在我的 Windows 机器上使用英语(美国)语言环境,我得到这个:
- IE9:15,000.00
- 火狐:15,000
- 铬:15000
在 Chrome 中,数字似乎toLocaleString()
根本不起作用。除了这种方法,我还尝试过:
- 要使用 MicrosoftAjax.js 库
localeFormat()
函数,但无论我在 PC 上设置了哪种语言环境(通过使用“区域和语言”对话框),日期和数字仍然都是美国格式。 - 使用像Globalize这样的库。尽管它们确实提供了格式化功能,但它们无法自动检测用户的语言环境。
因此,总结一下:如何自动格式化数字和日期以尊重以适用于所有主要浏览器(IE、Firefox、Chrome)的方式浏览网页的用户的区域设置?