3

我正在尝试将字符串类型的参数转换为日期时间。我正在使用 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

无论我是否将 dayfirst 设置为 true 或 Year first 设置为 false。理想情况下,我只想有一个格式为 DD-MM-YYYY HH:MM:SS 的日期。我不想要任何花哨的东西。我愿意使用 datetime 库,但这对我来说似乎根本不起作用。谁能给出如何将字符串转换为具有显式格式的日期时间的简单示例,我是菜鸟,所以我只需要最基本的示例。我正在使用 Python 2.7

4

2 回答 2

8

您遇到的问题是您传递给 parser.parse 的任何参数仅影响字符串的解析方式,而不影响后续对象的打印方式。

parser.parse 返回一个 datetime 对象——当你打印它时,它只会使用 datetime 的默认 __str__ 方法。如果您将最后一行替换为

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

它会按您的预期工作。

于 2011-10-20T10:34:26.913 回答
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")
于 2011-10-20T10:31:10.613 回答