有没有比以下更好的方法以YYYY-MM-DD格式返回今天的日期?
str(datetime.datetime.today()).split()[0]
有没有比以下更好的方法以YYYY-MM-DD格式返回今天的日期?
str(datetime.datetime.today()).split()[0]
当前回答
如果你喜欢记住有趣的代码,Datetime就很可爱。你不喜欢简单吗?
>>> import arrow
>>> arrow.now().format('YYYY-MM-DD')
'2017-02-17'
这个模块足够聪明,可以理解你的意思。
只需执行pip安装箭头。
附录:在回答那些对这个答案感到困惑的人时,让我说箭头代表了Python中处理日期的一种替代方法。这正是我想建议的。
其他回答
我总是使用isoformat()方法。
from datetime import date
today = date.today().isoformat()
print(today) # '2018-12-05'
注意,如果您需要标准ISO 8601格式的时间,这也适用于datetime对象。
from datetime import datetime
now = datetime.today().isoformat()
print(now) # '2018-12-05T11:15:55.126382'
很晚才回答,但您可以简单地使用:
import time
today = time.strftime("%Y-%m-%d")
# 2023-02-08
使用f字符串,它们通常是任何文本变量组合的最佳选择:
from datetime import date
print(f'{date.today():%Y-%m-%d}')
取自Python f-string格式,不适用于具有官方链接的strftime内联。
如果你喜欢记住有趣的代码,Datetime就很可爱。你不喜欢简单吗?
>>> import arrow
>>> arrow.now().format('YYYY-MM-DD')
'2017-02-17'
这个模块足够聪明,可以理解你的意思。
只需执行pip安装箭头。
附录:在回答那些对这个答案感到困惑的人时,让我说箭头代表了Python中处理日期的一种替代方法。这正是我想建议的。
如果您需要太平洋标准时间(PST),您可以
from datetime import datetime
import pytz
tz = pytz.timezone('US/Pacific')
datetime.now(tz).strftime('%Y-%m-%d %H:%M:%S')
# '2021-09-02 10:21:41'