gpt4 book ai didi

Python:将 MySQL 日期时间转换为日期时间格式

转载 作者:行者123 更新时间:2023-11-29 00:24:20 24 4
gpt4 key购买 nike

这里有点新手。

我有一个从 MySQL 数据库获取结果的程序。它挑选出字段 Id 和 ship_date,查询仅根据给定的 Id 搜索返回的记录。结果应该是 2 个或更多日期。我的目标是格式化日期并比较它们之间的日期。结果被放入单独的列表中,所以我得到两个这样的列表:

[(datetime.datetime(2012, 12, 28, 0, 0),), (datetime.datetime(2012, 12, 28, 0, 0),)]

[(datetime.datetime(2012, 06, 15, 0, 0),), (datetime.datetime(2012, 08, 19, 0, 0),)]

例如。

但是当我试图用一段代码将整个列表变成可读格式时,我发现:

ship_date = [dt.strftime("%Y-%m-%d") for dt in ship_date]

我总是收到没有属性 strftime 的错误。我试过将它们转换成字符串,然后使用 strftime,但我得到的错误是 str has no attribute strftime。我完全不知所措。

顺便说一句,我已经导入了日期时间

有没有人有任何方法可以将这些列表(其中 2 个)转换为可读格式,例如

2012-12-28, 2012-12-28

谢谢

最佳答案

给定的列表包含带有日期时间的元组,而不仅仅是日期时间。所以元素应该拆包。

>>> ship_dates = [(datetime.datetime(2012, 12, 28, 0, 0),), (datetime.datetime(2012, 12, 28, 0, 0),)]
>>> [dt.strftime("%Y-%m-%d") for dt in ship_dates]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'tuple' object has no attribute 'strftime'

>>> [dt.strftime("%Y-%m-%d") for (dt,) in ship_dates]
['2012-12-28', '2012-12-28']

或者你可以省略(..):

>>> [dt.strftime("%Y-%m-%d") for dt, in ship_dates]
['2012-12-28', '2012-12-28']

关于Python:将 MySQL 日期时间转换为日期时间格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19676579/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com