首页 > 解决方案 > 处理许多尝试的更好方法,除了

问题描述

我想知道更改日期时间字符串格式的最佳方法是什么。

我有一个字符串time,它以多种格式之一表示日期时间对象。我想将其更改为特定的。现在我的代码看起来像:

try:
    record['time'] = datetime.datetime.strptime(time, 'yyyy-MM-dd HH:mm:ss').strftime('%Y-%m-%dT%H:%M:%S.%fZ')
except:
    pass
try:
    record['time'] = datetime.datetime.strptime(time, 'yyyy-MM-ddTHH:mm:ss').strftime('%Y-%m-%dT%H:%M:%S.%fZ')
except:
    pass

等等。

有没有更好、更聪明的方法来解决这个问题?

标签: pythonstringdatetime

解决方案


我会从任何格式转换为日期时间对象,然后将其放入您想要的格式。该dateutil软件包具有出色的解析器。

from dateutil.parser import parse

try:
    as_date = parse(time)
except ValueError:
    # got something unparsable -- figure out how to handle it.

my_formatted_string = as_date.strftime(....)
```

推荐阅读