datetime:日期时间模块,提供多种方法操作日期和时间
strftime:对日期时间格式化
获取今天的日期,昨天的日期,格式化的日期
>>> import datetime
>>> today=datetime.date.today()
>>> print today
2018-01-17
>>> formatted_today=today.strftime('%y%m%d')
>>> print formatted_today
180117
>>> yesterday=int(formatted_today)-1
>>> print yesterday
180116
以上内容于2018年1月17日编写,现3月1日发现一些问题,当跨月份时,上面代码会出现。
yesterday=int(formatted_today)-1
执行这行代码后,3月1日的前一天变成了3月0日
怎么改呢?
yesterday = (datetime.date.today() + datetime.timedelta(days=-1)).strftime('%Y%m%d')
先获取今天的日期
然后使用datetime的timedetla对象,这个对象表示两个时间差值,datetime.timedelta(days=-1)表示往前一天的时间,3月1日往前一天就是2月28日。
最后用strftime转换时间格式