进一步阅读

进一步阅读

我想在定义为 GMT 的不同时区之间转换 UTC 上的自定义字符串时间。

我概括这里的所有答案都可以。但这个例子有一些问题:

1.TZ='GMT-07' date --date='TZ="UTC" 00:34'

07:34:00 +0700

2.TZ=':America/Vancouver' date --date='TZ="UTC" 00:34'

17:34:00 -0700

当我尝试使用 GMT 作为目的地 TZ 时,为什么结果不同?

这个城市有相同的格林威治标准时间。

PS 所以我找到了 GMT 目的地的解决方案,结果按时间显示,并且 TZ 显示错误。

TZ='UTC' date --date='TZ="GMT-07" 00:34' 

17:34:00 +0000

答案1

TZ='GMT-07'
TZ=':America/Vancouver'

声称它们相同的说法是错误的。第一个是 POSIX 风格的规则,描述 7 小时的时区(缩写为“GMT”)标准时间中的 UTC,并且没有夏令时转换。负数的意思是世界标准时间 (UTC)。

温哥华位于太平洋时区,时差为 8 小时在后面标准时间为 UTC,夏令时比 UTC 晚 7 小时。正确的 POSIX 风格规则是 ,它简化了加拿大法律的实际复杂性PST8PDT

进一步阅读

  • man tzset

相关内容