Eu nunca tive que converter tempo de e para o UTC. Recentemente, solicitei que meu aplicativo soubesse do fuso horário, e eu tenho me executado em círculos. Muitas informações sobre a conversão da hora local em UTC, que eu achei bastante elementar (talvez eu esteja fazendo isso errado também), mas não consigo encontrar nenhuma informação sobre como converter facilmente a hora UTC no fuso horário dos usuários finais.
Em poucas palavras, e o aplicativo Android me envia dados (aplicativo de mecanismo) e dentro desses dados há um carimbo de data / hora. Para armazenar esse timestamp no utc time, estou usando:
datetime.utcfromtimestamp(timestamp)
Isso parece estar funcionando. Quando meu aplicativo armazena os dados, ele está sendo armazenado com 5 horas de antecedência (estou EST -5)
Os dados estão sendo armazenados na BigTable do aplicativo e, quando recuperados, saem como uma string assim:
"2011-01-21 02:37:21"
Como faço para converter essa string em um DateTime no fuso horário do usuário?
Além disso, qual é o armazenamento recomendado para as informações de fuso horário dos usuários? (Como você normalmente armazena informações tz, ou seja: "-5: 00" ou "EST" etc etc?) Tenho certeza de que a resposta à minha primeira pergunta pode conter um parâmetro que as respostas da segunda.