Datetime Helpers
A handy collection of datetime utils.
![Publish](https://github.com/DeveloperRSquared/datetime-helpers/actions/workflows/publish.yml/badge.svg)
![PyPI - Version](https://img.shields.io/pypi/v/datetime-helpers.svg)
![pre-commit.ci status](https://results.pre-commit.ci/badge/github/DeveloperRSquared/datetime-helpers/main.svg)
![Checked with mypy](http://www.mypy-lang.org/static/mypy_badge.svg)
Install
Install and update using pip.
$ pip install -U datetime-helpers
What's available?
import datetime_helpers
>>> dt = datetime.date(2017, 4, 17)
>>> datetime_helpers.get_day_of_week(dt=dt)
'Monday'
>>> datetime_helpers.is_weekend(dt=dt)
False
>>> datetime_helpers.is_weekday(dt=dt)
True
>>> datetime_helpers.get_previous_business_day(dt=dt)
datetime.date(2017, 4, 14)
>>> datetime_helpers.get_next_business_day(dt=dt)
datetime.date(2017, 4, 18)
>>> datetime_helpers.get_first_business_day_of_month(dt=dt)
datetime.date(2017, 4, 3)
>>> n = 3
>>> datetime_helpers.get_nth_business_day_of_month(dt=dt, n=n)
datetime.date(2017, 4, 5)
>>> datetime_helpers.datetime_to_string(dt=dt)
'2017-04-17T00:00:00.000000Z'
>>> datetime_helpers.date_to_string(dt=dt)
'2017-04-17'
>>> text = '2016-04-17T00:00:00.000000Z'
>>> datetime_helpers.datetime_from_string(text=text)
datetime.datetime(2016, 4, 17, 0, 0)
>>> text = '2016-04-17T00:00:00.000000Z'
>>> datetime_helpers.datetime_from_string(text=text)
datetime.datetime(2016, 4, 17, 0, 0)
>>> windows_filetime = 116444736000000000
>>> datetime_helpers.datetime_from_windows_filetime(windows_filetime=windows_filetime)
datetime.datetime(1970, 1, 1, 0, 0)
>>> datetime_helpers.datetime_to_seconds(dt=dt)
1492387200.0
>>> seconds = 1492387200
>>> datetime_helpers.datetime_from_seconds(seconds=seconds)
datetime.datetime(2017, 4, 17, 0, 0)
>>> datetime_helpers.datetime_to_millis(dt=dt)
1492387200000
>>> millis = 1492387200000
>>> datetime_helpers.datetime_from_millis(millis=millis)
datetime.datetime(2017, 4, 17, 0, 0)
>>> datetime_helpers.datetime_from_date(dt=dt)
datetime.datetime(2017, 4, 17, 0, 0)
Contributing
Contributions are welcome via pull requests.
First time setup
$ git clone git@github.com:DeveloperRSquared/datetime-helpers.git
$ cd datetime-helpers
$ poetry install
$ poetry shell
Tools including black, mypy etc. will run automatically if you install pre-commit using the instructions below
$ pre-commit install
$ pre-commit run --all-files
Running tests
$ poetry run pytest
Links