【发布时间】:2022-01-07 23:46:12
【问题描述】:
我的系统和浏览器都使用 en_GB 作为语言环境。
当我在浏览器控制台中运行 (new Date()).toLocaleString() 时,我得到“12/1/2021, 1:56:32 PM”又名 en_US 格式。但是,如果我通过 Chromium Dev Tools Sensors 选项卡将语言环境设置为 en_GB 并重新加载页面,该函数会返回“01/12/2021, 14:05:02”,即正确的 en_GB 格式。
Overriding locale with Dev Tools
所以我的问题是这是否是我的系统/浏览器的问题。如果我的配置不是问题,那么为什么该开发工具功能可以解决问题?它究竟是如何改变全局 javascript 值的?为什么浏览器不根据我的默认语言自动设置这些值?
我知道一些变通方法,例如手动将navigator.language 作为参数传递给toLocaleString 函数,或者使用像moment 或dayjs 这样的库来管理我的日期和格式,但这只是关于@987654327 不可预测的行为@ 如上所述。
谢谢。
【问题讨论】:
标签: javascript browser locale