У меня настроена система в Московском часовом поясе. Москва переходит на летнее время в последнее воскресенье марта каждого года. Московское летнее время (МСД) - UTC +4 часа. В последнее воскресенье октября переход на летнее время заканчивается, и он возвращается к стандартному московскому времени (МСК), которое составляет UTC +3 часа.
Переход с MSD на MSK происходит в последнее воскресенье октября в 3 часа ночи. К 3 часам ночи часы снова сбрасываются на 2 часа ночи. Итак, в последнее воскресенье октября будет два часа ночи. В первый раз в 2 часа ночи Москва еще в МСД (UTC +4). На втором экземпляре в 2 часа ночи Москва уже в МСК (UTC +3).
Мой вопрос: если я использую функцию localtime () для получения информации о местном часовом поясе во втором экземпляре 2 часов ночи в последнее воскресенье октября, будет ли флаг tm_isdst установлен с помощью localtime () или он не будет установлен. По моим наблюдениям, флаг tm_isdst устанавливается функцией localtime () в течение часового окна с 2 до 3 часов ночи (второй экземпляр) в MSK. Это ошибка или это ожидаемое поведение?
Что касается записей, мой файл базы данных timezone / Europe tz обновлен, а соответствующий файл базы данных часового пояса правильно скомпилирован компилятором zic как / usr / share / zoneinfo / Europe / Moscow.