我试图以一种条件在python中查找月份的第一天:如果我的当前日期超过了该月的25号,则第一个date变量将保存下个月的第一个日期,而不是当前月份。我正在执行以下操作:
import datetime
todayDate = datetime.date.today()
if (todayDate - todayDate.replace(day=1)).days > 25:
x= todayDate + datetime.timedelta(30)
x.replace(day=1)
print x
else:
print todayDate.replace(day=1)
有没有更干净的方法可以做到这一点?
最佳答案
这是一个明智的解决方案。
import datetime
todayDate = datetime.date.today()
if todayDate.day > 25:
todayDate += datetime.timedelta(7)
print todayDate.replace(day=1)
原始代码示例要注意的一件事是,如果您正在测试一月的最后一天,则使用
timedelta(30)
将导致麻烦 e。这就是为什么我使用7天的增量。