将日期时间转换为时间戳
convert datetime to timestamp
首先,这个时间格式'2020-01-01T01:39:40.000000Z'是什么意思,我的猜测是,它的意思是时区,我会更正。我想将它转换为 python
中的 Unix 时间戳
这个很好用
from datetime import datetime
datetime.fromisoformat('2011-11-04T00:05:23').timestamp()
产出
1320365123.0
但这给我一个错误
from datetime import datetime
datetime.fromisoformat('2020-01-01T01:39:40.000000Z').timestamp()
错误
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-39-0489f93685df> in <module>
3 # datetime.fromisoformat('2011-11-04T00:05:23').timestamp()
4
----> 5 datetime.fromisoformat('2020-01-01T01:39:40.000000Z').timestamp()
ValueError: Invalid isoformat string: '2020-01-01T01:39:40.000000Z'
我的数据以这种格式出现,因为我不知道它是什么意思。我没有动力在转换
之前删除 000000Z
Python 不完全支持 ISO 8601 标准。您应该改用 dateutil.parser:
>>> from dateutil.parser import isoparse
>>> isoparse("2020-01-01T01:39:40.000000Z")
datetime.datetime(2020, 1, 1, 1, 39, 40, tzinfo=tzutc())
首先,这个时间格式'2020-01-01T01:39:40.000000Z'是什么意思,我的猜测是,它的意思是时区,我会更正。我想将它转换为 python
中的 Unix 时间戳这个很好用
from datetime import datetime
datetime.fromisoformat('2011-11-04T00:05:23').timestamp()
产出
1320365123.0
但这给我一个错误
from datetime import datetime
datetime.fromisoformat('2020-01-01T01:39:40.000000Z').timestamp()
错误
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-39-0489f93685df> in <module>
3 # datetime.fromisoformat('2011-11-04T00:05:23').timestamp()
4
----> 5 datetime.fromisoformat('2020-01-01T01:39:40.000000Z').timestamp()
ValueError: Invalid isoformat string: '2020-01-01T01:39:40.000000Z'
我的数据以这种格式出现,因为我不知道它是什么意思。我没有动力在转换
之前删除000000Z
Python 不完全支持 ISO 8601 标准。您应该改用 dateutil.parser:
>>> from dateutil.parser import isoparse
>>> isoparse("2020-01-01T01:39:40.000000Z")
datetime.datetime(2020, 1, 1, 1, 39, 40, tzinfo=tzutc())