如何从 Unix 纪元时间转换并考虑 Python 中的夏令时?
How to convert from Unix epoch time and account for daylight saving time in Python?
我有一个包含数千条记录的大型数据库。每条记录包含一个 Unix 纪元时间。
数据库是在一个时区创建的,但是那个时区有“夏令时”,在几个月中当地时间调整一个小时。
在 Python 中,我想将所有这些纪元时间转换为该时区的正确本地时间,同时考虑到“夏令时”。我是 Python.
的新手
重要提示:有些日期是在“夏令时”期间记录的,有些日期是在“标准时间”期间记录的。
目前我的代码是:
import time
time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time_from_database))
(其中time_from_database
是从数据库中获取的Unix纪元时间)
如何在 Python 中实现?
操作系统支持时区转换,Python可以使用。您不需要在 Python 代码中处理它。
您可以使用 pytz 模块来实现它。也最好使用 datetime 对象。
import pytz
from datetime import datetime
MYTZ = "America/Los_Angeles"
TS = 1631491515.6691816
tzinfo = pytz.timezone(MYTZ)
t = datetime.fromtimestamp(TS, tzinfo)
print(t)
2021-09-12 17:05:15.669182-07:00
我有一个包含数千条记录的大型数据库。每条记录包含一个 Unix 纪元时间。
数据库是在一个时区创建的,但是那个时区有“夏令时”,在几个月中当地时间调整一个小时。
在 Python 中,我想将所有这些纪元时间转换为该时区的正确本地时间,同时考虑到“夏令时”。我是 Python.
的新手重要提示:有些日期是在“夏令时”期间记录的,有些日期是在“标准时间”期间记录的。
目前我的代码是:
import time
time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time_from_database))
(其中time_from_database
是从数据库中获取的Unix纪元时间)
如何在 Python 中实现?
操作系统支持时区转换,Python可以使用。您不需要在 Python 代码中处理它。
您可以使用 pytz 模块来实现它。也最好使用 datetime 对象。
import pytz
from datetime import datetime
MYTZ = "America/Los_Angeles"
TS = 1631491515.6691816
tzinfo = pytz.timezone(MYTZ)
t = datetime.fromtimestamp(TS, tzinfo)
print(t)
2021-09-12 17:05:15.669182-07:00