I'm trying to find the first day of the month in python with one condition which is if my current date passed the 25th of the month then the first date variable will hold the first date of the next month instead of the current month. I'm doing like the following:
todayDate = datetime.date.today()
if (todayDate - todayDate.replace(day=1)).days > 25:
x= todayDate + datetime.timedelta(30)
This is a pithy solution.
import datetime todayDate = datetime.date.today() if todayDate.day > 25: todayDate = todayDate + datetime.timedelta(7) print todayDate.replace(day=1)
One thing to note with the original code example is that using
timedelta(30) will cause trouble if you are testing the last day of January. That is why I am using a 7-day delta.