Javascript Date().getTimezoneOffset() 使用 iPhone 设置时区而不是物理时区



>"new Date((.getTimezoneOffset(("似乎总是返回物理位置时间偏移量,无论您的设备时区设置是什么。

例如,如果我上午 9 点在西雅图,iPhone 时区设置为自动。 iPhone 在上午 9 点显示正确的时间,getTimezoneOffset(( 返回 420。将iPhone时区更改为手动,蒙特利尔,电话时间变为中午12点。 但是,getTimezoneOffset(( 仍然返回 420,而我希望像东海岸时间一样返回 240。

我想测试时区处理。 我如何实现这一目标(通过不实际飞往蒙特利尔(?

(编辑以澄清(将 iPhone 时区设置为多伦多(偏移量 -04:00(时,

moment((.utcOffset((

返回实际设备时区 -420,而不是时区设置 -240。

(编辑2(请注意,我想获取iPhone时区设置,而不是按字符串硬编码特定时区。

发现问题 - 它是缓存的时区数据。 要重置它,请执行以下操作:

moment.tz.guess(true)  // ignore cache and detect it again

然后

moment().utcOffset()

现在是正确的。

最新更新