Я отвечу на этот вопрос с точки зрения часового пояса.
Отключение DST, как правило, не очень хорошая вещь.Такие функции игнорируют реальность часовых поясов.Часовые пояса определяются отдельными правительствами по всему миру, и те же правительства определяют, где и когда действует летнее время.
Например, я нахожусь в Редмонде, штат Вашингтон, США.По законодательству США он расположен в тихоокеанском часовом поясе, который является UTC-8 в стандартное время и UTC-7 в дневное время.Закон США в настоящее время позволяет штатам отказаться от DST, что сделали Аризона и Гавайи.Но Вашингтон не имеет, и поэтому DST применим для меня здесь.Прямо сейчас (в июле) сейчас 11:00 по тихоокеанскому времени.Я не могу просто решить для себя, что его 10:00 по тихоокеанскому времени.Для этого мне пришлось бы переместиться в другой часовой пояс.
Часовые пояса в базе данных часовых поясов IANA (TZDB, Olson и т. Д.), Которые используются в большинстве систем,включая Ubuntu, определите отдельные области по всему миру, где местное время согласовывалось, по крайней мере, с 1970 года. Если есть области, которые имеют одинаковое стандартное время, но различаются ли они летним или нет, или , когда применяется летнее время,затем они получают свою собственную отдельную запись в TZDB.Другими словами, нет смысла говорить «я хочу быть в America/Los_Angeles
без летнего времени», потому что нет места в тихоокеанском часовом поясе, который бы это делал.Если вы находитесь на островах Питкэрн (UTC-8 без DST), то вы просто используете Pacific/Pitcairn
.
Может быть, более ясный пример: большая часть времени США в горах использует MST (UTC-7) и MDT (UTC-6), который получает идентификатор TZDB America/Denver
.Аризона, большинство из которых не использует летнее время, использует MST (UTC-7) в течение всего года, поэтому в TZDB она получает собственный идентификатор America/Phoenix
.
Тогда вы можете спросить, почемуВ Windows есть функция «Отключить DST»?Есть несколько причин, по которым я могу говорить публично (раскрытие: я работаю в Microsoft, иногда в этой области).
Функция часового пояса Windows изначально была создана с Windows NT.В то время база данных Олсона существовала, но не была такой вездесущей, как сегодня.Microsoft решила создать собственную реализацию, и по сей день существует два разных источника данных о часовых поясах.TZDB и Microsoft.
Раньше считалось, что данные часового пояса Windows не охватывают весь мир.Таким образом, некоторым пользователям Windows приходилось полагаться на эту функцию, чтобы получить точное время.Это резко изменилось с обновлением в июне 2016 года , чтобы соответствовать заявлению Microsoft о миссии "... каждый человек и каждая организация на планете ...".Сегодня существует обязательство и политика по обеспечению точных данных о часовом поясе.
Когда правительство решает внести изменения в свой часовой пояс (принятие DST, приостановка DST,изменение даты или времени перехода на летнее время, изменение стандартного смещения времени и т. д.), иногда законодатели совершают критическую ошибку, не предоставляя достаточно времени для выполнения заказа ( см. мой пост на эту тему ).Когда это происходит, Microsoft может предложить временные рекомендации о том, как получить точное местное время, пока не будет предоставлено обновление.Такое руководство может включать отключение DST или переключение на другой часовой пояс.Эти рекомендации являются всегда временными, поэтому становится спорным, должна ли эта функция вообще существовать.
Как правило, большинство пользователей Windows никогда не должны отключать DST.Если они нуждаются в этом, чтобы получить точное местное время (за исключением редкого случая, описанного выше), они, вероятно, просто не устанавливают в своем часовом поясе правильную запись в первую очередь.
Время TZDBзоны в Ubuntu и других ОС, как правило, имеют более короткие циклы обновления, чем Windows, и, следовательно, не подвергаются такому быстрому изменению в короткие сроки.