python - 处理许多尝试的更好方法,除了
问题描述
我想知道更改日期时间字符串格式的最佳方法是什么。
我有一个字符串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
等等。
有没有更好、更聪明的方法来解决这个问题?
解决方案
我会从任何格式转换为日期时间对象,然后将其放入您想要的格式。该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(....)
```
推荐阅读
- json - 如何将 csv 文件作为一个 JSON 文件而不是单个文件加载到 MarkLogic 中?
- python - 我该如何解决?“不支持的操作数类型”
- python - 有没有办法在 for 循环中更改全局函数而不是创建一个新函数?
- python - 如何将可调用对象定义到另一个python类中
- django - 多语言网站:如何在“静态”文本(编码到模板中)和数据库之间建立清晰的关系?
- node.js - 使用自定义项目环境变量类型减速扩展 @types/node
- r - 函数具有意外行为(dplyr 中的变异函数)
- reactjs - 无法将 redux 商店中可用的模拟数据用于 react-testing-library
- ionic3 - Ionic3 超级入门 ngx-translation 无法在 android 真实设备上运行
- jquery - 用于动态添加元素的 Jquery 分组事件侦听器