calendary

https://img.shields.io/pypi/v/calendary.svg https://travis-ci.org/DavidHickman/calendary.svg?branch=master Documentation Status Updates Python 3

Python calendar and datetime helpers.

Features

Return a list of days for any year

cal = Calendary(2016)

weekdays = cal.weekday_calendar()
today = datetime.datetime.now().date()

for weekday, date in weekdays:
    if date < today:
        print("{0}-{1}-{2} was a {3}".format(date.month, date.day, date.year, weekday))
    elif date == today:
        print("Today is {}".format(weekday))
    else:
        print("{0}-{1}-{2} will be a {3}".format(date.month, date.day, date.year, weekday))

Return a list of only workdays (default: Monday-Friday)

cal = Calendary(2016)

workdays = cal.workday_calendar()

for weekday, date in workdays:
    print(weekday, date)

Change the workweek begin and end

cal = Calendary(2016)

# Work Tuesday - Saturday
workdays = cal.workday_calendar(workweek_start=1, workweek_end=5)

Get the calendar for a specific month

cal = Calendary(2016)

# July calendar
cal.month(7)

# July workweek calendar
cal.month(7, work=True, workweek_start=1, workweek_end=5)

Get a specific date relative to the calendar

cal = Calendary(2016)

# Get the third Thursday in July of 2016
cal.weekday('Thursday', month=7, ordinal=3)

# Get all Thursdays in July 2016
cal.weekday('Thursday', month=7)

# Get the third Thursday in 2016
cal.weekday('Thursday', ordinal=3)

# Get all Thursdays in 2016
cal.weekday('Thursday')

# Get all Mondays and Thursdays in July, 2016 using weekday index values
cal.weekday((0, 3), month=7)

Credits

This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.