Python DateUtil 将字符串转换为日期和时间

4 投票
2 回答
15835 浏览
提问于 2025-04-17 04:41

我正在尝试把一个字符串类型的参数转换成日期时间。我使用的是dateUtil库。

  from dateutil import parser
myDate_string="2001/9/1 12:00:03"
dt = parser.parse(myDate_string,dayfirst=True)
print dt

每次我运行这个代码时,得到的结果都是:

2001-09-01 12:00:03

无论我是否把“日优先”设置为真,或者把“年优先”设置为假,结果都是这样。其实我只想要一个格式为DD-MM-YYYY HH:MM:SS的日期。我不需要什么复杂的东西。我也愿意使用datetime库,但对我来说,这似乎根本不管用。有没有人能给我一些简单的例子,教我怎么把字符串转换成日期时间,并且指定格式?我还是个新手,所以我只需要最基本的例子。我使用的是Python 2.7。

2 个回答

4

标准库中的内置 datetime 库可以很轻松地做到这一点。

from datetime import datetime

my_date_string = "2001/9/1 12:00:03"
d = datetime.strptime(my_date_string, "%Y/%m/%d %H:%M:%S")
print d.strftime("%d-%m-%Y %H:%M:%S")
8

你遇到的问题是,你传给 parser.parse 的任何参数只会影响字符串是怎么解析的,而不会影响后面这个对象是怎么打印出来的。

parser.parse 会返回一个日期时间对象 - 当你打印它的时候,它会使用日期时间的默认打印方法。如果你把最后一行替换成

print dt.strftime("%d-%m-%Y %H:%M:%S")

这样就能按照你的预期工作了。

撰写回答