Учитывая местную метку времени и временную метку UTC, можно ли определить часовой пояс и действует ли DST?Определение часового пояса в Python
ответ
Если «UTC метка времени» с плавающей точкой (целое будет достаточно) в «секундах от эпохи», и ваш «локальная метка времени «это какая-то странная версия, которая сдвинута в ваши локальные координаты времени (нет« эпохи », кроме UTC), достаточно модуля time в стандартной библиотеке Python.
Как показано в этих документах, учитывая «секунды с эпохи», gmtime
переводит это в 9-элементный кортеж в UTC, localtime
в кортеж из 9 предметов по местному времени; чтобы перейти на другую сторону, calendar.timegm
(UTC 9-элементный кортеж к отметке времени UTC) и mktime
(местное время 9-элементный кортеж для метки времени UTC). Вы заметите, что нет такой вещи, как «местная временная метка» (только локальные временные файлы с 9 элементами, например, struct_time
экземпляров), просто потому, что такой концепции не существует.
Но, если я правильно понимаю, что вы подразумеваете под «локальной меткой времени», а затем переводите ее на время структуры, «как если бы» это была настоящая временная метка, а затем обратно в локальное время, вы получите смещение, которое вы ищете (в секундах). Что касается DST, то бит, указывающий, включен ли он, - это 9-й элемент кортежей, о котором мы упоминали.
Например, используя "местную временную метку" только:
>>> loct
1282453595
>>> time.mktime(time.gmtime(loct)) - loct
28800.0
>>> _/3600
8.0
>>>
Это говорит о том, что я 8 часов к западу от UTC. И:
>>> time.localtime(loct)[-1]
1
это говорит о том, что является с ДСТ в действие.
Попробуйте взглянуть на http://docs.python.org/library/datetime.html#datetime.datetime для встроенной поддержки дат, времени и часовых поясов.
Если вам нужна более мощная библиотека, заглянуть на предложения здесь: Full-featured date and time library
- 1. Определение часового пояса пользователя
- 2. определение часового пояса по умолчанию
- 3. Python часового пояса разборе
- 4. Python преобразования часового пояса
- 5. Настройка часового пояса в Python
- 6. Определение часового пояса по названию города/страны
- 7. Python Django: изменение часового пояса
- 8. Ошибка зоны часового пояса Python?
- 9. Python: Рисунок локального часового пояса
- 10. Получить смещение часового пояса в django/python
- 11. Изменение часового пояса От UTC до нового часового пояса
- 12. одного часового пояса в другой преобразования часового пояса
- 13. Получить смещение часового пояса от имени часового пояса в C++
- 14. Изменение часового пояса в модуле часового пояса моментов
- 15. Определение смещения часового пояса времени UTC в .Net
- 16. Изменение часового пояса для даты объекта Python
- 17. Python - дата и время определенного часового пояса
- 18. Weird python time.strftime() отображение часового пояса
- 19. Обнаруживать форму экрана часового пояса при создании часового пояса
- 20. IOS: конвертирование UTC часового пояса для устройства местного часового пояса
- 21. Как получить смещение часового пояса для известной строки часового пояса?
- 22. Получить строку часового пояса из числового значения часового пояса PHP
- 23. Получение правильного смещения часового пояса в Python с использованием местного часового пояса
- 24. Расчет часового пояса
- 25. Настройка часового пояса PHP
- 26. Поддержка часового пояса MySQL
- 27. Дистрибуция часового пояса сервера
- 28. Преобразование часового пояса Java
- 29. Стратегия часового пояса
- 30. Изменение часового пояса mysql
У вас была проблема: у меня есть метка времени UTC, которая представляет 00:00:00 в произвольную дату в произвольный часовой пояс. Я знаю, что такое произвольная дата, но я не знаю часовой пояс. Если я преобразую timestamp в объект datetime, я могу использовать значение часа для определения часового пояса, но проблема в DST. Если DST действует, часовой пояс будет сдвинут на один. Тем не менее, я уверен, что часовой пояс будет один в США. Во всяком случае, я нашел решение проблемы (хотя и не чистое, этого будет достаточно.) Спасибо! – gvl