从datetime.datetime获取当前日期

问题描述 投票:1回答:2

我正在尝试获取当前日期,因此可以将其传递给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 datetime而不是import datetime

如何解决以上问题?谢谢

python python-3.x datetime
2个回答
0
投票

如果仔细看,以下陈述的结果,

>>> 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'

0
投票

只需使用datetime.strftime

datetime.strftime

打印:

from datetime import datetime

dt = datetime.today().strftime("%m/%d/%Y")
print(dt)

'09/30/2019' 接受一个字符串,并创建一个strptime对象。而datetime的作用恰恰相反,它取一个strftime对象并返回一个字符串。

© www.soinside.com 2019 - 2024. All rights reserved.