操纵ISO 8601日期时间字符串

时间:2017-01-24 14:24:26

标签: python datetime google-api iso8601

使用python和Google的API,我正在尝试创建并持续一小时的事件。为此,我需要使用和ISO 8601格式设置开始日期时间和结束日期时间,例如:2017-01-25T06:30:00.000+0000

如何使用上面的字符串并添加一小时,例如2017-01-25T07:30:00.000+0000。我试图剖析字符串,将字符转换为整数/浮点数但不起作用(剥离'0')。

我还应该说这个dateTime可以是任何值,例如有时很多2017-01-25T21:15:00.000+0000。在每个实例中,我只需要添加一个小时,以便创建一个小时的事件。作为额外的考虑因素,我将如何处理以2017-01-25T23:30:00.000+0000开头的事件。因为这些事件会延续到第二天。

也许有一种更简单的方法可以做到这一点?非常感谢任何指导。

1 个答案:

答案 0 :(得分:2)

不要试图直接弄乱ISO格式的字符串, 会出错。

  • 使用python-dateutil(pip install python-dateutil
  • 解析字符串
  • 它为您提供了原生的python日期时间
  • 使用timedelta
  • 向日期时间添加一小时
  • 将结果重新格式化为ISO

```

from dateutil.parser import parse
from datetime import timedelta

d_str = "2017-01-25T06:30:00.000+0000"
d = parse(d_str)
d2 = d + timedelta(seconds=3600)
result = d2.isoformat()