Skip to main content

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.

Files for approxidate, version 1.0.4
Filename, size File type Python version Upload date Hashes
Filename, size approxidate-1.0.4.tar.gz (9.6 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page