首页 > 解决方案 > 如何使用 Python3 以 YYYY-MM-DD 格式“%Y-%m-%d”生成今天的日期

问题描述

可以使用以下代码生成 YYYY-MM-DD 00:00:00。但是,这很丑陋。

有没有更优雅的方式?

谢谢

# calculate current date in format YYYY-MM-DD (ugly hack)
strToday = str(datetime.datetime.today()).split()[0]
dateToday = datetime.datetime.strptime(strToday, '%Y-%m-%d')

标签: pythondatetime

解决方案


感谢您的输入。代码已修改,但仍需要两个步骤。希望是在一条线上实现这一目标。

# calculate current date in format YYYY-MM-DD 
strToday = datetime.today().strftime('%Y-%m-%d')
dateToday = datetime.strptime(strToday, '%Y-%m-%d')

下面演示了上述方法的数据类型转换要求。

## this approaches results to a string data type
>>> from datetime import datetime
>>> date = datetime.today().strftime('%Y-%m-%d')
>>> print(date)
'2018-11-23'
>>> print(type(date))
<class 'str'>

## second step is still required to convert to datetime data type
>>> dateobject = datetime.strptime(date, '%Y-%m-%d')
>>> print(type (dateobject))
<class 'datetime.datetime'>
>>> print(str(dateobject))
2018-11-23 00:00:00

推荐阅读