我得到了一个日期时间字符串,格式类似于"2009-05-28T16:15:00"(我相信这是ISO8601).一个黑客选项似乎是使用time.strptime解析字符串,并将元组的前六个元素传递到datetime构造函数中,如:

datetime.datetime(*time.strptime("2007-03-04T21:08:12", "%Y-%m-%dT%H:%M:%S")[:6])

我还没有找到一个"更干净"的方法来做这件事.有吗?

推荐答案

我更喜欢使用dateutil库进行时区处理和通常可靠的日期解析.如果你得到一个ISO 8601字符串,比如:2010-05-08T23:41:54.000Z,你会很高兴用strtime解析它,尤其是如果你事先不知道是否包含时区的话.pyiso8601有几个问题(判断他们的追踪器)是我在使用过程中遇到的,而且已经好几年没有更新了.相比之下,dateutil一直很活跃,为我工作:

from dateutil import parser
yourdate = parser.parse(datestring)

Python相关问答推荐

Pandas数据帧处理Pandas表中Json内的嵌套列表以获取后续Numpy数组

FastAPI:使用APIRouter路由子模块功能

两极:如何分割一个大 pyramid 并并行保存每个

opencv Python稳定的图标识别

计算相同形状的两个张量的SSE损失

Python:在类对象内的字典中更改所有键的索引,而不是仅更改一个键

Python 3.12中的通用[T]类方法隐式类型检索

Odoo 14 hr. emergency.public内的二进制字段

非常奇怪:tzLocal.get_Localzone()基于python3别名的不同输出?

查找两极rame中组之间的所有差异

' osmnx.shortest_track '返回有效源 node 和目标 node 的'无'

删除字符串中第一次出现单词后的所有内容

如何将一个动态分配的C数组转换为Numpy数组,并在C扩展模块中返回给Python

如果满足某些条件,则用另一个数据帧列中的值填充空数据帧或数组

如何合并两个列表,并获得每个索引值最高的列表名称?

Python Tkinter为特定样式调整所有ttkbootstrap或ttk Button填充的大小,适用于所有主题

在方法中设置属性值时,如何处理语句不可达[Unreacable]";的问题?

在Docker容器(Alpine)上运行的Python应用程序中读取. accdb数据库

Pandas—堆栈多索引头,但不包括第一列

如何将一组组合框重置回无 Select tkinter?