So my Insights team had a challenge with timestamp data on tweets. Their reporting system was giving them data in users’ timezones and it was not consistent (since timezones are different for different users) and bad for reporting. Their question to me was whether we can have all timestamps converted to the same timezone (preferably EST since the team is here).
The data is actually already available through an API call, and the only task is to convert it to a readable local timezone format.
Here’s how data is coming back from the API call, in UTC zone:
"created_at": "Wed Jun 01 12:53:42 +0000 2011"
Python code:
#import datetime
from datetime import datetime
from datetime import timedelta
clean_timestamp = datetime.strptime(obj['created_at'],
'%a %b %d %H:%M:%S +0000 %Y')
offset_hours = -5 #offset in hours for EST timezone
#account for offset from UTC using timedelta
local_timestamp = clean_timestamp + timedelta(hours=offset_hours)
#convert to am/pm format for easy reading
final_timestamp = datetime.strftime(local_timestamp,
'%Y-%m-%d %I:%M:%S %p')