Skip to main content

Simple and lightweight calendar support for python datetime.date

Project description

calendar-util

Simple calendar support for python datetime.date

Setup

  1. Install via pip (pip install calendarutil)
  2. or via git (git clone "https://github.com/github-suraj/calendar-util")

Usage : 1 : get date on a particular day of month

1. Get first Monday of month

In this module, all the methods take input arguments as year and month.

>>> from calendarutil.month import util
>>> util.first_monday_of_month(2021, 4)
datetime.date(2021, 4, 5)

2. Get list of first Monday of month for a year

In this module, all the methods take input argument as year.

>>> from calendarutil.month import from_year
>>> from_year.first_monday_of_month(2021)
[datetime.date(2021, 1, 4), datetime.date(2021, 2, 1), datetime.date(2021, 3, 1), datetime.date(2021, 4, 5), datetime.date(2021, 5, 3), datetime.date(2021, 6, 7), datetime.date(2021, 7, 5), datetime.date(2021, 8, 2), datetime.date(2021, 9, 6), datetime.date(2021, 10, 4), datetime.date(2021, 
11, 1), datetime.date(2021, 12, 6)]

3. Get list of first Monday of month for a date range

In this module, all the methods take input arguments as date object for start and end date.

>>> from datetime import date
>>> from calendarutil.month import from_range
>>> dt1 = date(2021, 3, 1)
>>> dt2 = date(2021, 9, 1)
>>> from_range.first_monday_of_month(dt1, dt2)
[datetime.date(2021, 3, 1), datetime.date(2021, 4, 5), datetime.date(2021, 5, 3), datetime.date(2021, 6, 7), datetime.date(2021, 7, 5), datetime.date(2021, 8, 2), datetime.date(2021, 9, 6)]

Supported frequency

  • first
  • second
  • third
  • fourth
  • last

Supported weekday

  • monday
  • tuesday
  • wednesday
  • thursday
  • friday
  • saturday
  • sunday

Usage : 2 : get date on first/last day/weekday of month

In this module, all the methods take input arguments as year and month.

1. Get first day of month

>>> from calendarutil.month import first_day_of_month
>>> first_day_of_month(2021, 5)
datetime.date(2021, 5, 1)

2. Get first weekday of month

>>> from calendarutil.month import first_weekday_of_month
>>> first_weekday_of_month(2021, 5)
datetime.date(2021, 5, 3)

3. Get last day of month

>>> from calendarutil.month import last_day_of_month
>>> last_day_of_month(2021, 2) 
datetime.date(2021, 2, 28)

4. Get last weekday of month

>>> from calendarutil.month import last_weekday_of_month
>>> last_weekday_of_month(2021, 2)
datetime.date(2021, 2, 26)

Usage : 3 : get date on first/last day/weekday of quarter

In this module, all the methods take input arguments as year and quarter number.

1. Get first day of quarter

>>> from calendarutil.quarter import first_day_of_quarter
>>> first_day_of_quarter(2022, 1)
datetime.date(2022, 1, 1)

2. Get first weekday of quarter

>>> from calendarutil.quarter import first_weekday_of_quarter
>>> first_weekday_of_quarter(2022, 1)
datetime.date(2022, 1, 3)

3. Get last day of quarter

>>> from calendarutil.quarter import last_day_of_quarter
>>> last_day_of_quarter(2022, 4)
datetime.date(2022, 12, 31)

4. Get last weekday of quarter

>>> from calendarutil.quarter import last_weekday_of_quarter
>>> last_weekday_of_quarter(2022, 4)
datetime.date(2022, 12, 30)

Show your Support

Give us a :star2: if this project helped you!

License

Copyright © 2021 Suraj Jaiswal

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

calendarutil-2021.4.1.tar.gz (7.6 kB view hashes)

Uploaded Source

Built Distribution

calendarutil-2021.4.1-py3-none-any.whl (21.1 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page