鉴于我有一个时间戳:
date_time_str = '2019-09-10T13:48:06+0200'
如何计算当前时间和这个日期时间之间的时差?
到目前为止,我给人的印象是严重的不法行为——这应该可以通过一种更简单的方式来实现:
from datetime import datetime, timezone
import time
date_time_str = '2019-09-10T13:48:06+0200'
format = '%Y-%m-%dT%H:%M:%S%z'
date_time_obj = datetime.strptime(date_time_str, format)
now = datetime.now()
now_time = now.strftime(format)
print(now_time)
now=datetime.strptime(datetime.fromtimestamp(int(time.time()), tz=timezone.utc).isoformat(), format)
print("now is: %s" % now)
print(now-time_obj)
上述程序不起作用,因为当前时间的格式略有不同:
'2019-09-10T15:56:11+00:00'
也就是说,如果你运行上面的脚本,例如 Python 3.6.5,你会得到错误:
ValueError: time data '2019-09-10T18:18:09+00:00' does not match format '%Y-%m-%dT%H:%M:%S%z'
时区格式不匹配,“+00:00”与“+0200”。
www说
相关分类