为了账号安全,请及时绑定邮箱和手机立即绑定

在python中减去日期时间,理解格式

在python中减去日期时间,理解格式

回首忆惘然 2022-05-24 17:04:47
鉴于我有一个时间戳:date_time_str = '2019-09-10T13:48:06+0200'如何计算当前时间和这个日期时间之间的时差?到目前为止,我给人的印象是严重的不法行为——这应该可以通过一种更简单的方式来实现:from datetime import datetime, timezoneimport timedate_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”。
查看完整描述

1 回答

?
www说

TA贡献1775条经验 获得超8个赞

您可以使用datetime.now()UTC 格式获取当前日期时间:


# Same as your code

from datetime import datetime, timezone


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)


# Added:

print(datetime.now(tz=timezone.utc))

# 2019-09-10 18:35:48.066548+00:00


print(datetime.now(tz=timezone.utc) - date_time_obj)

# 6:47:42.066548


查看完整回答
反对 回复 2022-05-24
  • 1 回答
  • 0 关注
  • 104 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信