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