node.js - 如何使用nodejs从系统中获取本地时区

标签 node.js time

有没有办法使用nodejs从系统(例如:-ubuntu)获取本地时区?

我使用 moment.js 来提取日期和时间值。但也找不到提取时区的方法。

最佳答案

现有答案会告诉您当前的时区偏移量,但如果您比较历史/ future 时间点,您会遇到问题,因为这不适合夏令时更改。

在许多时区中,偏移量在一年中会发生变化,并且这些变化发生在不同的日期或根本不发生,具体取决于纬度。如果您只有 UTC 时间和偏移量,则您永远无法确定一年中其他时间在该位置的偏移量是多少。

例如,UTC+2:00 偏移量可以指夏季的巴塞罗那或全年的象牙海岸。 2 小时偏移将始终显示科特迪瓦的正确时间,但在巴塞罗那的半年中将显示 1 小时。

Check out this great article covering the above.

我们如何解决所有这些时区问题?嗯,很简单:

  1. 以 UTC 保存所有时间
  2. 存储此事件发生地点的时区字符串

在现代浏览器或 node.js 中,您可以像这样获取本地 IANA 时区字符串:

Intl.DateTimeFormat().resolvedOptions().timeZone // eg. 'America/Chicago'

然后您可以在 Luxon 等库中使用此时区字符串以帮助抵消您捕获的 UTC 时间。

DateTime.fromISO("2017-05-15T09:10:23", { zone: "Europe/Paris" });

关于node.js - 如何使用nodejs从系统中获取本地时区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38915418/

相关文章:

javascript - GET 请求不会仅在 Node.JS 内返回?

node.js - AWS X 射线追踪在 Node.js 中的传出请求上中断

angularjs - Mean Stack - 使用 Express 发送 AngularJS 的所有静态内容

node.js - 如何在express服务器中进行API调用

java - 一天中的时间(以分钟为单位)Java

events - 5秒内按任意键

javascript - 尝试使用 Node.js 和 mysql javascript 客户端连接到 MySQL 数据库

python - 如何在Python中转换当前时间的格式

java - 如何限制用户在 OTP 生成 4 小时后通过 OTP 验证手机

Javascript - 如果没有 setInterval 函数,这个时钟函数如何更新时间?