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

15 投票
3 回答
18231 浏览
提问于 2025-04-16 07:00

我在数据库里存储了一个datetime字符串。现在我遇到了一个问题。当我从数据库里取出这个字符串时,我需要把它转换回datetime对象……

有没有简单的方法可以做到这一点呢?

这个datetime字符串看起来是这样的:

2010-11-13 10:33:54.227806

3 个回答

3

在编程中,有时候我们会遇到一些问题,可能是因为代码写得不够清晰,或者是我们对某些概念理解得不够透彻。这种情况下,向社区求助,比如在StackOverflow上提问,是一个很好的选择。大家会根据自己的经验来帮助你,给出建议和解决方案。

在提问时,记得尽量详细地描述你的问题,包括你遇到的错误信息、你尝试过的解决方法,以及相关的代码片段。这样,别人才能更好地理解你的问题,给出更有效的帮助。

同时,也要保持礼貌和耐心,因为每个人的时间都很宝贵,大家都是在自愿帮助你。希望你能在这个过程中学到更多的知识,提升自己的编程能力。

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

我建议你用 pip install python-dateutil 来安装 python-dateutil 这个库:

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

这个库可以“聪明地”从你的日期字符串中获取一个 datetime 对象...

29

你想要使用 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")

关于格式字符串的详细信息,可以查看 这个链接

撰写回答