Skip to content

Instantly share code, notes, and snippets.

@hhromic
Last active January 15, 2021 10:41
Show Gist options
  • Save hhromic/e93a248987c6514cb304 to your computer and use it in GitHub Desktop.
Save hhromic/e93a248987c6514cb304 to your computer and use it in GitHub Desktop.
Time Data Manipulations in Python

Cheat Sheet for Python Time Data

Note: These snippets are tested with Python 3, which has better datetime object support than Python 2.

Textual Time to datetime Object

from datetime import datetime

# example Twitter "created_at" field time format
DT_FORMAT = "%a %b %d %H:%M:%S %z %Y"

# example textual time from Twitter
text_time = "Sat Feb 06 20:10:12 +0000 2016"

# parse textual time into a datetime object
result = datetime.strptime(text_time, DT_FORMAT)
print(result, type(result))

Unix Time to datetime Object

from datetime import datetime, timezone

# example Unix time value
unix_time = 1454789412

# convert Unix time into a datetime object
result = datetime.fromtimestamp(unix_time, tz=timezone.utc)
print(result, type(result))

ISO 8601 to datetime Object

from datetime import datetime

# example ISO 8601 value
iso8601 = "2016-02-06T20:10:12+00:00"

# convert ISO 8601 into a datetime object
result = datetime.fromisoformat(iso8601)
print(result, type(result))

datetime Object to Textual Time

from datetime import datetime, timezone

# example datetime object
dt_object = datetime(2016, 2, 6, 20, 10, 12, tzinfo=timezone.utc)

# example Twitter "created_at" field time format
DT_FORMAT = "%a %b %d %H:%M:%S %z %Y"

# format datetime object to textual time
result = dt_object.strftime(DT_FORMAT)
print(result, type(result))

datetime Object to Unix Time

from datetime import datetime, timezone

# example datetime object
dt_object = datetime(2016, 2, 6, 20, 10, 12, tzinfo=timezone.utc)

# convert datetime object into an Unix time value
result = dt_object.timestamp()
print(result, type(result))

datetime Object to ISO 8601

from datetime import datetime, timezone

# example datetime object
dt_object = datetime(2016, 2, 6, 20, 10, 12, tzinfo=timezone.utc)

# convert datetime object to ISO 8601
result = dt_object.isoformat()
print(result, type(result))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment