Javascript 使时间独立于浏览器时区

Javascript 使时间独立于浏览器时区,javascript,datetime,momentjs,moment-timezone,Javascript,Datetime,Momentjs,Moment Timezone,我正在chrome浏览器的控制台中使用以下代码打印时间戳 moment("2021-01-12 00:00:00").utc().utcOffset(-new Date().getTimezoneOffset()).format('x') 此行打印给定时间和日期的时间戳。 如果我从“windows日期和时间设置”更改时区,则上述行的输出也会更改。 无论当前浏览器窗口的时区如何,如何使线上输出保持恒定?状态文档: getTime()方法返回自Unix纪元以来的毫秒数* *Ja

我正在chrome浏览器的控制台中使用以下代码打印时间戳

moment("2021-01-12 00:00:00").utc().utcOffset(-new Date().getTimezoneOffset()).format('x')
此行打印给定时间和日期的时间戳。
如果我从“windows日期和时间设置”更改时区,则上述行的输出也会更改。 无论当前浏览器窗口的时区如何,如何使线上输出保持恒定?

状态文档:

getTime()方法返回自Unix纪元以来的毫秒数*

*JavaScript使用毫秒作为度量单位,而Unix时间以秒为单位

getTime()始终使用UTC表示时间。例如,一个时区中的客户端浏览器getTime()将与任何其他时区中的客户端浏览器相同

因此,从日期获得的时间戳始终是UTC,带有从主机环境(OS)获取的时区信息

默认情况下,JavaScript(和时刻)将解析日期和时间,假设它们位于用户的本地时区,因此受Windows日期和时间设置更改的影响

为了保持一致,您需要告知将值解析为UTC的时刻

const timestamp=moment.utc(“2021-01-12 00:00:00”)。格式(“x”);
console.log(时间戳);//打印161040960000张