首页 > 解决方案 > 从 datetime.datetime 获取当前日期

问题描述

我正在尝试获取当前日期,以便可以将其传递给 SQL 中的 DATE 字段。我正在使用 datetime.datetime,下面是我的代码:

from datetime import datetime

dt = datetime.strptime(datetime.today().date(), "%m/%d/%Y").date()

但是,我收到此错误:

TypeError: strptime() argument 1 must be str, not datetime.datetime

如何解决上述问题?我仍然对 datetime 和 datetime.datetime 感到困惑,我想继续使用from datetime import datetimenot import datetime

如何解决上述问题?谢谢你

标签: pythonpython-3.xdatetime

解决方案


如果您仔细观察,以下语句的结果,

>>> datetime.today().date()
datetime.date(2019, 9, 30)
>>> str(datetime.today().date())
'2019-09-30'

您会注意到返回的日期时间是-分开的,您必须将其显式转换为字符串值。因此,要使上述语句起作用,请将其更改为:

dt = datetime.strptime(str(datetime.today().date()), "%Y-%M-%d").date()

然后将其更改为您希望使用的任何格式strftime(在您的情况下 >>> "%d/%m/%Y"

>>> dt.strftime("%d/%m/%Y")
'30/01/2019'

推荐阅读