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"
#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')
One thought on “Convert Twitter timestamps to local timezone in Python”
Great stuff, exactly what I needed. Thanks so much!