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