加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

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

发布时间:2020-12-16 23:19:54 所属栏目:Python 来源:网络整理
导读:作为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
作为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'

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读