Мне никогда не приходилось переводить время в и из UTC. Недавно у меня был запрос, чтобы мое приложение знало часовой пояс, и я бегал сам по кругу. Много информации о преобразовании локального времени в UTC, которое я нашел довольно элементарным (возможно, я тоже делаю это неправильно), но я не могу найти никакой информации о том, как легко преобразовать время UTC в часовой пояс конечных пользователей.
В двух словах, android app отправляет мне (appengine app) данные, и в этих данных есть временная метка. Чтобы сохранить эту метку времени в UTC время, которое я использую:
datetime.utcfromtimestamp(timestamp)
Кажется, это работает. Когда мое приложение хранит данные, оно сохраняется как 5 часов вперед (я EST -5)
Данные хранятся в appengine BigTable, и при получении они выглядят как строка:
"2011-01-21 02:37:21"
Как мне преобразовать эту строку в DateTime в часовом поясе пользователя?
Кроме того, каково рекомендуемое хранилище для информации о часовом поясе пользователей? (Как вы обычно храните информацию tz, например: "-5: 00" или "EST" и т.д. И т.д.?) Я уверен, что ответ на мой первый вопрос может содержать параметр, а ответы - второй.