如何解决在python中概括时间戳格式
我得到两种时间戳(一种是毫秒,另一种没有毫秒)
'endtime': '2020-09-09T05:46:41.620Z'
'starttime': '2020-09-08T18:20:57Z'
我必须指定将其转换为日期时间的格式
timestampstart = pd.to_datetime(starttime,format="%Y-%m-%dT%H:%M:%s%fZ")
是否可以在这一行中归纳“格式”,因为如果我的时间为毫秒,代码将崩溃。
如何将其重写为始终忽略毫秒而又不会使我的代码崩溃?
解决方法
两种格式均符合ISO8601。将'Z'字符(表示UTC)替换为'+00:00'(也称为UTC)后,可以方便地使用datetime.fromisoformat
解析时间戳。您也可以here找到此方法。
from datetime import datetime
endtime = '2020-09-09T05:46:41.620Z'
starttime = '2020-09-08T18:20:57Z'
for t in (endtime,starttime):
print(repr(datetime.fromisoformat(t.replace('Z','+00:00'))))
# datetime.datetime(2020,9,5,46,41,620000,tzinfo=datetime.timezone.utc)
# datetime.datetime(2020,8,18,20,57,tzinfo=datetime.timezone.utc)
要将所有微秒设置为零,您可以写
# setting microseconds to zero:
for t in (endtime,'+00:00')).replace(microsecond=0)))
# datetime.datetime(2020,tzinfo=datetime.timezone.utc)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。