我有一个在一定时间后删除文件的功能。问题是它可以在本月晚些时候使用,但是当我尝试从月初开始删除7天后,它将不会减少到上个月。有谁知道如何让这个工作?代码在下面,用于计算日期并删除日期。
today = datetime.date.today() # Today's date Binary
todaystr = datetime.date.today().isoformat() # Todays date as a string
minus_seven = today.replace(day=today.day-7).isoformat() # Removes 7 days
感谢您的帮助。
答案 0 :(得分:7)
minus_seven = today - datetime.timedelta(days = 7)
答案 1 :(得分:3)
这打破的原因是today
是datetime.date
;正如the docs所说,这意味着today.day
是:
在给定年份的给定月份的1天和天数之间。
你可以在本月晚些时候看到这个原因;但是在这个月的前几天你最终得到负值。
文档会立即记录您正在尝试做的事情的正确方法:
date2 = date1 - timedelta
计算date2,使得date2 + timedelta == date1。