Форум программистов, компьютерный форум CyberForum.ru

Вычисление разницы дат - C++

Восстановить пароль Регистрация
 
Dozentos
 Аватар для Dozentos
4 / 4 / 0
Регистрация: 26.10.2013
Сообщений: 78
07.07.2015, 16:03     Вычисление разницы дат #1
Имеется код:
C++
1
2
3
4
5
6
7
8
9
char firstDate[] = "2015-07-09";
char secondDate[] = "2015-07-07";
char* format = "%Y-%m-%d";
struct tm tm;
strptime(firstDate, format, &tm); // приводим строку к структуре времени
time_t fD = mktime(&tm);
strptime(secondDate, format, &tm);
time_t sD = mktime(&tm);
double razn = difftime(fD, sD); //вычисление разницы дат
в меру моего понимания razn должна быть равна 172800 (секунд), но по факту она почему-то равна 0 ???
Подскажите, где я не прав
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
AlexVRud
414 / 143 / 36
Регистрация: 04.07.2014
Сообщений: 415
07.07.2015, 17:21     Вычисление разницы дат #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
struct tm tm = {};
Dozentos
 Аватар для Dozentos
4 / 4 / 0
Регистрация: 26.10.2013
Сообщений: 78
08.07.2015, 09:04  [ТС]     Вычисление разницы дат #3
Точно! Оно!!!
AlexVRud
414 / 143 / 36
Регистрация: 04.07.2014
Сообщений: 415
08.07.2015, 09:21     Вычисление разницы дат #4
Цитата Сообщение от Dozentos Посмотреть сообщение
Точно! Оно!!!
неожиданное UB, у меня вообще выдавало случайное число на твоём коде.
Dozentos
 Аватар для Dozentos
4 / 4 / 0
Регистрация: 26.10.2013
Сообщений: 78
08.07.2015, 10:15  [ТС]     Вычисление разницы дат #5
Разобрав по косточкам свой код увилел, что sD равнялось -1 но с {} всё заработало как надо!!! Thanks!
Yandex
Объявления
08.07.2015, 10:15     Вычисление разницы дат
Ответ Создать тему
Опции темы

Текущее время: 11:33. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru