Setting time zone of a Pandas Timestamp to Boise
我想在unix时间读入时间戳并分配Boise的时区。 当前时区有"MDT - 山区夏令时(夏令时)"。 在冬季,它将切换到MST。
什么是正确的时区使用,当我想要它不依赖于夏季/冬季时间?
我希望有这样的东西
1 | pd.Timestamp(1513393355, unit='s', tz='US/Pacific') |
一些东西:
-
一般来说,在大多数美国山地时间应该使用
America/Denver ,目前在MST(UTC-7)和MDT(UTC-6)之间切换。 -
将
America/Phoenix 用于当前未使用DST的US Mountain Time部分,例如适用于亚利桑那州的大多数(但不是全部)。- 但是,要注意它过去曾经有过DST,最后一次是在1968年。
-
如果您需要一个UTC-7的固定偏移且从未使用过DST,请使用
Etc/GMT+7 。请注意偏移的符号是有意反转的(Etc/GMT+7 =UTC-7 )。- 如果您将此区域用于海上船舶以外的任何时间,那么您应该重新评估此决定。换句话说,如果您的数据是针对使用DST的本地时区,那么您不应该选择忽略它的区域。
-
您可以使用
America/Boise ,但是您应该只将其用于1974年末(1974-02-03 而非1974-01-06 )四周开始DST的爱达荷州南部和俄勒冈州东部地区,如TZ数据库评论中所述来源:1
2
3
4
5
6
7# Southern Idaho (Ada, Adams, Bannock, Bear Lake, Bingham, Blaine,
# Boise, Bonneville, Butte, Camas, Canyon, Caribou, Cassia, Clark,
# Custer, Elmore, Franklin, Fremont, Gem, Gooding, Jefferson, Jerome,
# Lemhi, Lincoln, Madison, Minidoka, Oneida, Owyhee, Payette, Power,
# Teton, Twin Falls, Valley, Washington counties, and the southern
# quarter of Idaho county) and eastern Oregon (most of Malheur County)
# switched four weeks late in 1974.-
如果您不使用1974年的时间戳,那么您可以忽略此区域并使用
America/Denver 。
-
如果您不使用1974年的时间戳,那么您可以忽略此区域并使用
-
您可以使用
US/Mountain ,但要了解它是作为America/Denver 的别名链接的,并且被视为已弃用。它存在向后兼容性。-
通常建议使用
Area/Locality 表单的规范标识符,而不是这些较旧的表示形式。请参阅Wikipedia上的TZ数据库时区列表。
-
通常建议使用
这将
1 2 | In [57]: pd.Timestamp(1513393355, unit='s', tz='UTC').tz_convert('America/Boise') Out[57]: Timestamp('2017-12-15 20:02:35-0700', tz='America/Boise') |
大熊猫依靠
您可以使用
有一个
有关相关选项的更多权威信息,请参阅Matt Johnson的答案。