Проблема в переключении летнего времени - PullRequest
0 голосов
/ 09 марта 2009

Программа, которую я написал около четырех лет назад, которая получает дату и время следующим образом:

get_the_date_and_time(char *string) 
{
    struct tm *now;
    time_t lt;
    lt = time(NULL);
    now = localtime(&lt);
    sprintf(string,asctime(now));
}

Возвращает время на час позже, чем переход на летнее время.

Изменяя системную дату на 5 апреля, я получаю правильное время.

Мы обошли этот проект; это просто один на один.

Я подозреваю, что моды Microsoft для перехода на летнее время для расширения функции перехода на летнее время несколько повреждены.

1 Ответ

3 голосов
/ 09 марта 2009

Похоже, что ваша система не знает о переходе на летнее время в США из-за Закона об энергетической политике 2005 года (который продлил летнее время с 2007 года ).

Какую версию Windows вы используете и обновляли ли вы ее с помощью Центра обновления Windows?

РЕДАКТИРОВАТЬ: Кроме того, эта связь статически или динамически, и вы восстановили после применения всех исправлений и т. Д.? Хотя я бы надеялся , что она получает информацию от ОС, возможно, что при статической компоновке некоторые из них могут быть вставлены в ваш исполняемый файл. (Ик.)

...