Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/marians/py-daterangestr
Create meaningful date/time ranges using strings like e.g. "201301" or "201301-201302"
https://github.com/marians/py-daterangestr
Last synced: 27 days ago
JSON representation
Create meaningful date/time ranges using strings like e.g. "201301" or "201301-201302"
- Host: GitHub
- URL: https://github.com/marians/py-daterangestr
- Owner: marians
- License: mit
- Created: 2013-10-24T08:47:44.000Z (about 11 years ago)
- Default Branch: master
- Last Pushed: 2013-12-10T09:45:06.000Z (almost 11 years ago)
- Last Synced: 2024-08-09T05:53:10.376Z (3 months ago)
- Language: Python
- Size: 121 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
py-daterangestr
===============Create meaningful date/time ranges using strings like e.g. "201301" or "201301-201302".
## Install
pip install daterangestr
## Quickstart
The `daterangestr` has exactly one function, `to_dates`, which converts a date string
of a certain, simple format to a datetime tuple.### Example:
```python
>>> from daterangestr import to_dates
>>> (start, end) = to_dates("20131014-20131018")
>>> print start, end
2013-10-14 00:00:00 2013-10-18 23:59:59
```## Supported string formats
### Rules
1. Dates can be given in format `YYYY`, `YYYYMM` or `YYYYMMDD`.
2. The date string can contain either only one date or two dates, seperated by a dash.
3. If the dash seperator is present and only one date is given, the other date is assumed to be the minimum possible or the maximum possible date.### Examples
#### `2012`
Jan 1 2012 - Dec 31 2012 (whole year)
#### `201201`
Jan 1 2012 - Jan 31 2012 (whole month)
#### `2012101`
Jan 1 2012 - Jan 1 2012 (whole day)
#### `2011-2011`
same as "2011", which means whole year 2012
#### `2011-2012`
Jan 1 2011 - Dec 31 2012 (two years)
#### `201104-2012`
Apr 1 2011 - Dec 31 2012
#### `201104-201203`
Apr 1 2011 - March 31 2012
#### `20110408-2011`
Apr 8 2011 - Dec 31 2011
#### `20110408-201105`
Apr 8 2011 - May 31 2011
#### `20110408-20110507`
Apr 8 2011 - May 07 2011
#### `2011-`
Jan 1 2012 - Dec 31 9999 (unlimited)
#### `201104-`
Apr 1 2011 - Dec 31 9999 (unlimited)
#### `20110408-`
Apr 8 2011 - Dec 31 9999 (unlimited)
#### `-2011`
Jan 1 0000 - Dez 31 2011
#### `-201104`
Jan 1 0000 - Apr 30, 2011
#### `-20110408`
Jan 1 0000 - Apr 8, 2011