Note: These snippets are tested with Python 3, which has better
datetime
object support than Python 2.
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))
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))
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))
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))
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))
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))