Skip to content

Instantly share code, notes, and snippets.

@waynemoore
Created July 27, 2011 11:01
Show Gist options
  • Save waynemoore/1109153 to your computer and use it in GitHub Desktop.
Save waynemoore/1109153 to your computer and use it in GitHub Desktop.
Get first and last day of a particular month using python-dateutil.
import datetime
# requires python-dateutil (http://labix.org/python-dateutil)
from dateutil.relativedelta import relativedelta
def get_month_day_range(date):
"""
For a date 'date' returns the start and end date for the month of 'date'.
Month with 31 days:
>>> date = datetime.date(2011, 7, 27)
>>> get_month_day_range(date)
(datetime.date(2011, 7, 1), datetime.date(2011, 7, 31))
Month with 28 days:
>>> date = datetime.date(2011, 2, 15)
>>> get_month_day_range(date)
(datetime.date(2011, 2, 1), datetime.date(2011, 2, 28))
"""
last_day = date + relativedelta(day=1, months=+1, days=-1)
first_day = date + relativedelta(day=1)
return first_day, last_day
if __name__ == "__main__":
import doctest
doctest.testmod()
@fishnexj
Copy link

Bravo fletom!

@vinilnarayan
Copy link

@fletom ,
May I know how to run this?
I'm new in python.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment