Last active
August 15, 2018 12:46
-
-
Save sammchardy/fcbb2b836d1f694f39bddd569d1c16fe to your computer and use it in GitHub Desktop.
Convert date to millisecond timestamp
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# requires dateparser package | |
import dateparser | |
import pytz | |
from datetime import datetime | |
def date_to_milliseconds(date_str): | |
"""Convert UTC date to milliseconds | |
If using offset strings add "UTC" to date string e.g. "now UTC", "11 hours ago UTC" | |
See dateparse docs for formats http://dateparser.readthedocs.io/en/latest/ | |
:param date_str: date in readable format, i.e. "January 01, 2018", "11 hours ago UTC", "now UTC" | |
:type date_str: str | |
""" | |
# get epoch value in UTC | |
epoch = datetime.utcfromtimestamp(0).replace(tzinfo=pytz.utc) | |
# parse our date string | |
d = dateparser.parse(date_str) | |
# if the date is not timezone aware apply UTC timezone | |
if d.tzinfo is None or d.tzinfo.utcoffset(d) is None: | |
d = d.replace(tzinfo=pytz.utc) | |
# return the difference in time | |
return int((d - epoch).total_seconds() * 1000.0) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment