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

时间:2011-10-20 10:22:07

标签: python pyodbc python-dateutil

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

2 个答案:

答案 0 :(得分:8)

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

parser.parse返回一个datetime对象 - 当你打印它时,它将只使用datetime的默认__str__方法。如果用

替换最后一行
print dt.strftime("%d-%m-%Y %H:%M:%S")

它会像你期望的那样工作。

答案 1 :(得分:3)

标准的lib(内置)datetime lib可以轻松完成此任务。

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")