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.

Source Distribution

approxidate-1.0.4.tar.gz (9.6 kB view details)

Uploaded Source

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

Hashes for approxidate-1.0.4.tar.gz
Algorithm Hash digest
SHA256 e140f4150432ca79a5c866606059171724faa45eedc5e5a4881d01aa0b11b48d
MD5 a6a58fd1b5fff9247fc3ed04dca025af
BLAKE2b-256 937a85a6caccb9d429abcfb526bfbc1d6f7bcc5d24788efc6ad530723b9bd642

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page