如何在Python中将字符串日期转换为日期时间格式?

103

我如何在Python中将一个日期时间字符串转换为日期时间格式,以便可以与另一个日期进行比较?

string_date = "2013-09-28 20:30:55.78200"
abc = datetime.datetime.now()

if abc  > string_date :
    print True
2个回答

183

strptime函数的特定格式:

datetime.datetime.strptime(string_date, "%Y-%m-%d %H:%M:%S.%f")
#>>> datetime.datetime(2013, 9, 28, 20, 30, 55, 782000)

1
%f 支持哪些平台? - Jonathan
@JonathanLeaders 我建议你就那个问题提出一个单独的问题。 - Veedrac

30

你应该使用datetime.datetime.strptime方法:

import datetime

dt = datetime.datetime.strptime(string_date, fmt)

fmt 需要适合你的字符串的格式。你可以在这里找到有关如何构建格式的参考。


你的意思是说 dt = datetime.datetime.strptime(string_date, "YYYY-MM-DD %H:%M%:%S") 吗? - Praful Bagai
1
@user1162512,那种格式是不正确的,请查看我的更新答案。 - Thomas Orozco
1
无法使用 dt = datetime.datetime.strptime(string_date, "YYYY-MM-DD %H:%M%:%S") 进行工作。提示格式无效。 - Praful Bagai
1
这不是有效的 @user1162512,正如你所说的。首先,你的字符串有分数秒,而你在格式中没有考虑到它们。如果你阅读文档,它会帮助你。 - Ben
谢谢。使用@Veedrac提供的答案解决了问题。 - Praful Bagai

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接