如何将日期时间字符串转换回datetime对象?

时间:2010-11-13 02:37:15

标签: python datetime

我在数据库中存储datetime字符串。现在我遇到了一个问题。当我从数据库中获取字符串时,我需要将其转换回datetime对象...

任何简单的方法吗?

日期时间字符串如下所示:

2010-11-13 10:33:54.227806

3 个答案:

答案 0 :(得分:20)

您需要datetime.strptime(date_string,format)。

from datetime import datetime
datetime.strptime("2010-11-13 10:33:54.227806", "%Y-%m-%d %H:%M:%S.%f")

有关格式字符串的详细信息,请参阅http://docs.python.org/library/datetime.html#strftime-and-strptime-behavior

答案 1 :(得分:5)

我建议您安装python-dateutilt

from dateutil import parser
d = parser.parse(yourstring)

此库以“智能”方式从日期字符串中获取日期时间对象...

答案 2 :(得分:1)

# time tuple to datetime object
    time_tuple = (2008, 11, 12, 13, 51, 18, 2, 317, 0)
    dt_obj = datetime(*time_tuple[0:6])
    print repr(dt_obj)

# date string to datetime object
    date_str = "2008-11-10 17:53:59"
    dt_obj = datetime.strptime(date_str, "%Y-%m-%d %H:%M:%S")
    print repr(dt_obj)

# timestamp to datetime object in local time
    timestamp = 1226527167.595983
    dt_obj = datetime.fromtimestamp(timestamp)
    print repr(dt_obj)