Как проверить, действует ли летнее время?Python летнее время
ответ
Вы можете использовать time.localtime
и посмотреть флаг tm_isdst
в возвращаемом значении.
>>> import time
>>> time.localtime()
(2010, 5, 21, 21, 48, 51, 4, 141, 0)
>>> _.tm_isdst
0
time.localtime()
Используя, вы можете задать тот же вопрос для любой произвольный момент времени, чтобы увидеть, будет ли DST быть (или был) в силу для текущего часового пояса.
Если вы хотите проверить, действует ли дневной свет с текущими настройками компьютера, используйте time.daylight.
>>> import time
>>> print time.daylight
time.daylight только говорит ли или нет компьютер в настоящее время в летнее время, а не если компьютер «Автоматически корректировать часы для перехода на летнее время изменения» набора. Для тех компьютеров, которые не настроены на регулировку дневного света, time.daylight всегда будет 0 круглый год.
Один из способов определить, будет ли компьютер настраиваться на летнее время в течение года, чтобы получить кортеж, возвращенный именем time.tz, и если они являются различиями (например, len (set (time.tzname))! = 1), тогда компьютер включит регулировку дневного света.
'time.daylight говорит только, находится ли компьютер в настоящее время в летнее время' - это неверно. 'time.daylight' говорит только в том случае, если компьютер находится в часовом поясе, у которого будут изменения времени, связанные с dst. Он ничего не говорит о том, что они действуют или нет. Это можно проверить с помощью 'tm_isdst' –
BTW: Документы для tzname:' Кортеж из двух строк: первый - это имя локального часового пояса, отличного от DST, второе - это имя локального часового пояса DST. Если часовой пояс DST не определен, вторая строка не должна использоваться. 'Так что len может быть> 1, даже если dst не определено. –
Голосование, чтобы удалить ответ, если он неверен. –
- 1. python: UTC to local летнее время
- 2. время преобразования EST летнее время
- 3. Проверка ошибок PHP на летнее время, летнее время
- 4. TimeZoneInfo и летнее время
- 5. CodeIgniter Летнее время
- 6. Летнее время в java
- 7. Летнее время в java
- 8. «Летнее время» в DOS
- 9. Летнее время в Javascript
- 10. Java8 и летнее время
- 11. Rails игнорировать летнее время
- 12. Летнее время от DB2
- 13. CTimeSpan.GetDays() и летнее время
- 14. fullCalendar летнее время ошибка
- 15. intlDateFormatter летнее время
- 16. Летнее время и DateTime.AddHour()
- 17. Rails не применяет летнее время
- 18. TYPO3 условное на летнее время
- 19. PhoneGap iOS LocalNotifications Летнее время
- 20. Летнее время, неправильно идентифицированное Node.js
- 21. NSDateFormatter Переход на летнее время
- 22. Определение часа в летнее время
- 23. XML Часовой пояс - Летнее время
- 24. C stat() и летнее время
- 25. MySQL - Переход на летнее время
- 26. Получить летнее время в C++
- 27. Rails, utc_to_local и летнее время
- 28. iCalendar Переход на летнее время
- 29. Летнее время в отметках времени
- 30. Чилкэт EML летнее время выпуск
Это может быть немного более понятно использовать свойство time.daylight. Он вернет ненулевой результат, если ваш текущий часовой пояс имеет DST. –
@brian buck: Это другое, хотя. Для данного часового пояса 'time.daylight' является постоянным, поскольку существует зона дневного света, либо она отсутствует. С другой стороны, флаг 'tm_isdst' отражает, является ли данное время * в * датой начала и окончания летнего времени. –
Эта путаница в вопросе 'time.daylight' представляется более серьезной проблемой: http://bugs.python.org/issue7229. –