timezones-cli:如何与美国时区保持一致

在美国时区工作总是让我感到困惑。

我不确定这对我来说是否特别困难,因为我在一个时区单一且没有夏令时的国家长大,或者对每个人来说都很难。

无论哪种方式,我都决定编写一个简单的命令行工具以使其变得更简单:timezones-cli。

要使用它,您首先使用npm安装它:

npm install -g timezones-cli 

然后,您可以将任何日期时间(ISO-8601格式)转换为不同美国时区中的等效时间:

 timezones 2017-01-15T20:00-08 

您将获得包含四列的结果:

  UTC 2017-01-16 04:00上午
 PST(-8:00)2017-01-15 08:00 PM洛杉矶
 PDT / MST(-7:00)2017-01-15 09:00 PM丹佛凤凰城
 CST / MDT(-6:00)2017-01-15 10:00 PM芝加哥
 CDT / EST(-5:00)2017-01-15 11:00 PM纽约
美国东部时间(-4:00)2017-01-16 12:00 AM 
  1. 时区的缩写。
  2. 时区相对于UTC的偏移量。
  3. 该时区中的等效时间。
  4. 那个特定时间在那个时区的城市。

您还可以传递以毫秒为单位的日期时间,或者根本不传递任何日期时间(在这种情况下,它将使用您的当前时间):

 # use the current time timezones # use an epoch timestamp timezones 1505684849831 

美国大陆使用四个主要时区:

  • 太平洋时区
  • 山区时区
  • 中央时区
  • 东部时区

每个时区细分为:

  • 标准时间-在秋/冬期间观察到。
  • 夏令时—在春季/夏季观察到。 比标准时间提前一小时。

这使我们总共有8个时区:

  • 太平洋标准时间(PST)-08:00
  • 太平洋夏令时间(PDT)-07:00
  • 山区标准时间(MST)-07:00
  • 山区夏令时间(MDT)-06:00
  • 中部标准时间(CST)-06:00
  • 中央夏令时(CDT)-05:00
  • 东部标准时间(EST)-05:00
  • 东部夏令时间(EDT)-04:00

美国大部分地区在三月的第二个星期日的凌晨2:00开始实行夏令时,并在十一月的第一个星期日的凌晨2:00恢复为标准时间。

例如:
12月1日,洛杉矶(PST)。
4月1日,洛杉矶举行PDT。

但是,并非所有城市都遵守夏令时。

例如:
亚利桑那州凤凰城全年使用MST。

timezones-cli背后的想法是将所有这些信息打包为一种简单易用的格式。

为了解决我个人遇到的一个问题,编写了timezones-cli。 这是一个非常简单的脚本,由令人惊叹的Moment Timezone库提供支持。

我决定共享它,以防其他人发现它有用。

如果最终使用它并希望看到改进,请随时创建问题或向https://github.com/alexishevia/timezones-cli提交拉取请求。


最初于 2017 年9月19日 x-team.com 发布