Python – 以YYYY-MM-DD格式的字符串获取昨天的日期

前端之家收集整理的这篇文章主要介绍了Python – 以YYYY-MM-DD格式的字符串获取昨天的日期前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
作为API请求的输入,我需要将日期的日期作为YYYY-MM-DD格式的字符串.我有一个工作版本是:
yesterday = datetime.date.fromordinal(datetime.date.today().toordinal()-1)
report_date = str(yesterday.year) + \
   ('-' if len(str(yesterday.month)) == 2 else '-0') + str(yesterday.month) + \
   ('-' if len(str(yesterday.day)) == 2 else '-0') + str(yesterday.day)

必须有一个更优雅的方式来做到这一点,感兴趣的是教育目的和其他任何事情一样!

解决方法

你只需要从今天的日期减去一天. datetime.timedelta(1)将会给你一个 timedelta object,这是一天的持续时间,并且可以从datetime对象中减去.然后,您可以使用 datetime.strftime在orer中将日期对象转换为基于 espected format的字符串:
>>> from datetime import datetime,timedelta
>>> datetime.strftime(datetime.now() - timedelta(1),'%Y-%m-%d')
'2015-05-26'

请注意,不用调用datetime.strftime函数,也可以直接使用datetime对象的strftime方法

>>> (datetime.now() - timedelta(1)).strftime('%Y-%m-%d')
'2015-05-26'

猜你在找的Python相关文章