【发布时间】:2021-11-08 08:24:45
【问题描述】:
我有一个包含数千条记录的大型数据库。每条记录都包含一个 Unix 纪元时间。
数据库是在单个时区创建的,但该时区有“夏令时”,在此期间本地时间会在几个月内调整一小时。
在 Python 中,我想将所有这些纪元时间转换为该时区的正确本地时间,同时考虑到“夏令时”。我是 Python 新手。
重要提示:有些日期是在“夏令时”记录的,有些日期是在“标准时间”记录的。
目前,我的代码是:
import time
time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time_from_database))
(其中time_from_database是从数据库中获取的Unix纪元时间)
这在 Python 中如何实现?
【问题讨论】:
-
纪元时间不考虑夏令时;它线性增加。当您从纪元时间转换为特定时区时,将应用 DST 偏移量。如果数据库中的时间针对 DST 进行了调整,则它并不是真正的纪元时间。
-
@CharlesDuffy 对。数据库中的时间是纪元时间,但我需要将其转换为正确的本地时间,这需要考虑每个日期的 DST(或缺少它)。
标签: python unix-timestamp data-conversion python-datetime epoch