从具有特殊字符的字符串datetime获取时间

2024-03-28 11:16:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图从这个字符串2017-11-07 16:56:34.787-08获取时间,同时使用下面的代码:

from datetime import datetime
my_string = '2017-11-07 16:56:34.787-08'
dt = datetime.strptime(my_string, "%Y-%m-%d %H:%M:%S.%f")

但是my_string有点独特,因为它后面附加了-08,有时它可以是3位数的形式,例如-123 不是做一个迂回的方法,使用split('-'),然后删除最后一个元素,有没有更好的方法可以直接得到时间?你知道吗


Tags: 方法字符串代码fromimport元素datetimestring
1条回答
网友
1楼 · 发布于 2024-03-28 11:16:34

我建议使用^{},这样可以避免^{}结果^{}(因为日期包含其他破折号)。你知道吗

from datetime import datetime

my_string = '2017-11-07 16:56:34.787-08'
date_string, _ = my_string.rsplit('-', 1)
dt = datetime.strptime(date_string, "%Y-%m-%d %H:%M:%S.%f")

print(dt)
# 2017-11-07 16:56:34.787000

无法将^{}与要忽略的字符、日期字符串和格式must match一起使用:

If string [...] has excess data after parsing, ValueError is raised.

相关问题 更多 >