python-3.x - 获取应用了夏令时(DST)的python日期时间
问题描述
我在 UTC tmezone 的 csv 文件中有日期时间,如果我将其从 UTC 转换为pytz.timezone('America/Los_Angeles')或任何其他美国时区,它将省略 DST(日光)的第 2 小时(2:MM:SS)节省时间)。例如:2019-03-10 00:00:00
直接进入第 1 小时(1:MM:SS)到第 3 小时(3:MM:SS)。如果我在C3(javascript 图表库)中使用转换后的日期时间绘制折线图,则第 1 小时和第 3 小时之间有 1 小时的间隔。
注意:由于DST的原因,将UTC转换为“America/Los_Angeles” 时丢失了第 2 小时数据。
有什么方法可以在不丢失第二个小时数据的情况下解析日期时间?
解决方案
欢迎来到夏令时的愚蠢。在北美,有 2 个时钟变化日:3 月的“春天前进”和 11 月的“回落”。确切的日子每年都不同。
- 在“春天来临”这一天,时钟从 1:59:59 跳到 3:00:00 - 没有凌晨 2 点。
- 相反,在“后退”日,1:59:59 之后是另一个 1:00:00 - 所以有两个凌晨 1 点。
pytz
是在做正确的事,只是人类的行为如此令人困惑。