datefind
A python module for locating dates within text. Use this package to search for dates and convert them to datetime objects.
Finds dates in many different formats.
- All numeric -
2024-01-01,01/01/2024,01012024, etc. - Natural language -
January 1st, 2024,March nineteenth, 2024,twenty fifth of January,Mar 15, 24, etc. - Fuzzy dates -
today,yesterday,tomorrow,last week,this week,next week, etc. - Relative offsets -
3 days ago,in 2 weeks,1 year from now, etc. - Weekdays -
Monday,next Friday,last Tuesday, etc. - Quarters -
Q1 2024,2024 Q3, etc.
[!NOTE]
datefindis designed to be used with year, month, and day only. It does not support hours, minutes, seconds, or microseconds.
Installation
Requires Python 3.11 or higher.
pip install datefind
Usage
from datefind import find_dates
string = "2024-01-01 and 2024-01-02"
for date in find_dates(string, tz="America/New_York"):
print(date)
>>> FoundDate(
datetime=datetime.datetime(2024, 1, 1, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='America/New_York')),
match='2024-01-01',
span=(0, 10)
)
>>> FoundDate(
datetime=datetime.datetime(2024, 1, 2, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='America/New_York')),
match='2024-01-02',
span=(15, 25)
)
find_dates
The find_dates() function is the main entry point for the datefind package. It takes a string of text and returns a generator of Date objects.
Arguments
text- The text to search for dates.first- The first number to find in ambiguous dates. (one ofmonth,day,year) Default ismonthtz- The timezone to use. Defaults to the local timezone.
For each date found, a FoundDate object is returned. The FoundDate object has the following properties:
datetime- The datetime object.match- The matched portion of the text.span- The span of the matched text in the original text.
Contributing
See CONTRIBUTING.md for more information.
Metadata
Release files for datefind 0.5.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| datefind-0.5.0.tar.gz | 11.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| datefind-0.5.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 23.5 kB
Release files / datefind-0.5.0.tar.gz
| Download URL | datefind-0.5.0.tar.gz |
|---|---|
| Size | 11.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
da5c675c81a113294c30f4d0b4edc0872f34fc5060cef54eb7253315aeddb93c
|
|
BLAKE2b-256 checksum How to use checksums |
9209851e93c10836a54cc3da1c4e6f1ce043c482608c25e6d3e414c03a543bf3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.13
|
Release files / datefind-0.5.0-py3-none-any.whl
| Download URL | datefind-0.5.0-py3-none-any.whl |
|---|---|
| Size | 12.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
15771d2f2780239220d2af3eedf3210aa847bf641c2ca81f9febb65f7a9c7237
|
|
BLAKE2b-256 checksum How to use checksums |
989c4763cb4b9bc44249bdd90d2f4f860760fc30c53dede08cd84b169b08f1ed
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.13
|