a quick way to get a unix timestamp from arbitrary date formats
Project description
approxidate is a quick way to get a unix timestamp from a ton of arbitrary date formats. It consists of one function:
DateType = typing.Union[
datetime.date,
datetime.datetime,
datetime.time,
float,
None,
]
def approx(date: str, *, relative_to: DateType = None) -> float:
"""
Get a unix timestamp from an arbitrary date string.
If `relative_to` is None, and the given date string is missing date or time,
now will be used. Otherwise, the missing units will be filled in from the
date/time represented by relative_to.
If `relative_to` is a float, it's treated as a unix timestamp.
"""
Example usage:
import datetime
import approxidate
approxidate.approx("10/10/2013 10:10:10.312 +0500")
approxidate.approx("10/March/2013 10:10:10.312 +0500")
approxidate.approx("10/Mar/2013 10:10:10.312 +0500")
approxidate.approx("2013 march 10 04:00:07")
approxidate.approx("2013 10 march 04:00:07")
# Parsed relative to now
approxidate.approx("00:00:07.657891")
approxidate.approx("mar 10")
approxidate.approx("10 mar 2013")
approxidate.approx("march 10 2013")
rel = datetime.datetime.now() + datetime.timedelta(hours=-1)
approxidate.approx("00:00:07.657891", relative_to=rel)
rel = datetime.date.today()
approxidate.approx("00:00:07.657891", relative_to=rel)
# Relative to a unix timestamp
approxidate.approx("mar 10", relative_to=1579733041)
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
approxidate-1.0.4.tar.gz
(9.6 kB
view details)
File details
Details for the file approxidate-1.0.4.tar.gz
.
File metadata
- Download URL: approxidate-1.0.4.tar.gz
- Upload date:
- Size: 9.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.1.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.7.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e140f4150432ca79a5c866606059171724faa45eedc5e5a4881d01aa0b11b48d |
|
MD5 | a6a58fd1b5fff9247fc3ed04dca025af |
|
BLAKE2b-256 | 937a85a6caccb9d429abcfb526bfbc1d6f7bcc5d24788efc6ad530723b9bd642 |