gpt4 book ai didi

python - 将日期转换为 unix 时间戳时增加一小时

转载 作者:太空宇宙 更新时间:2023-11-03 18:03:02 27 4
gpt4 key购买 nike

将日期转换为 unix 时间戳并对其进行格式化时,会添加一小时。我做错了什么?

>>> import dateutil.parser
>>> import datetime

>>> date_str = "2014-12-09T19:00:00+1100"
>>> date = dateutil.parser.parse(date_str)
>>> unix = int(date.strftime('%s'))

>>> date_str
'2014-12-09T19:00:00+1100'

>>> date
2014-12-09 19:00:00+11:00

>>> print(unix)
1418115600

>>> datetime.datetime.fromtimestamp( unix).strftime('%Y-%m-%d %H:%M:%S')
2014-12-09 20:00:00

时间已从 19:00 更改为 20:00。我怀疑这与时区有关。但我不知道到底出了什么问题。

我用过Epoch calculator验证 unix 时间戳。似乎在将 date 变量转换为 unix 时间戳的过程中添加了一小时。 (日期= dateutil.parser.parse(date_str))

感谢任何帮助!

最佳答案

您可以通过执行以下操作从日期时间对象获取 Unix 时间戳:

import pytz

timestamp = int((datetime_obj - datetime.datetime(1970, 1, 1, tzinfo=pytz.utc)).total_seconds())

这需要 pytz图书馆。我们正在使用 total_seconds()所以这个解决方案是Python 2.7+。

在您的情况下,为您提供与原始日期时间匹配的时间戳 1418112000。

关于python - 将日期转换为 unix 时间戳时增加一小时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27369541/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com