获取和格式化今天和昨天的日期

时间:2019-08-21 18:30:57

标签: python python-3.x

我已经看到这个问题很多,但由于某种原因,我遇到了麻烦。

我只是想将今天的日期和昨天的日期打印为mm-dd-yyyy。

这可以正常工作:

from datetime import date, timedelta
today = date.today()
yesterday = today - timedelta(days = 1)

print(today)
print(yesterday)

输出:

  

2019-08-21
  2019-08-20

但是,如果尝试使用此格式对其进行格式化,则会收到错误消息:

from datetime import date, timedelta
today = date.today()
yesterday = today - timedelta(days = 1)
yesterday.strftime('%m-%d-%Y')
today.strftime('%m-%d-%Y')

print(today)
print(yesterday)

错误:

.strftime('%m-%d-%Y')
^ SyntaxError: invalid syntax

在此先感谢您的帮助

2 个答案:

答案 0 :(得分:2)

要以mm-dd-yyyy格式打印,只需执行以下操作:

In [1]: from datetime import date, timedelta,datetime
   ...: today = date.today()
   ...: yesterday = today - timedelta(days = 1)

In [2]: print(datetime.strftime(today,'%m-%d-%Y'))
   ...: print(datetime.strftime(yesterday,'%m-%d-%Y'))
08-21-2019
08-20-2019

答案 1 :(得分:0)

您需要返回一个strftime函数。

from datetime import date, timedelta
time = date.today();
time2 = data.today();
time = time.strftime('%m-%d-%Y');
print(time); 
// or 
print( time2.strftime('%m-%d-%Y') );  

两个输出均为:

>>'08-21-2019'  
>>'08-21-2019'  

您可以通过在控制台或IDE中键入help(funct)来查找每个函数的更多信息,其中 funct 是要查找的函数名称或语法。您可以通过键入help(obj)查找类和对象的所有方法。通过键入dir(obj),您可以将所有方法/功能都列为列表。

快速检查函数是否返回值只是将其打印出来。如果函数未返回值,则打印函数将在控制台中显示None,表示该函数没有任何作用。