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

Сумма и разность дат - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Метод Фибоначчи http://www.cyberforum.ru/cpp-beginners/thread421579.html
Разработка алгоритма и программы! Решение задачи одномерной оптимизации методом Фибоначчи
C++ Составить алгоритм решения уравнения |a+5x|/(b-x)=2c Пожалуйста помогите составить алгоритм решения уравнения |a+5x|/(b-x)=2c буду очень благодарен. http://www.cyberforum.ru/cpp-beginners/thread421578.html
Передача массивов в функцию на С++ C++
Здравствуйте. Подскажите пожалуйста, как в приведенной ниже программе передать два массива в функцию, чтобы не прописывать два цикла в InputMassiv(). #include "iostream" #include <clocale> using namespace std; template <class T, int size> class Massiv { T *Mas1; T *Mas2;
C++ Порекомендуйте книгу про проектирование игр/игровых движков
Здравствуйте, пробую себя, так сказать в лёгком игрострое: пытаюсь сделать простенький аналог танчиков, но упераюсь в громкий свист ветра в черепной коробке <_< Встали проблемы, наподобие: 1)как определять коллизии(столкновения) между обьектами? 2)как просчитывать полёт снаряда, чтобы при этом избежать туннелинга (пролетание снаряда через препятствие, потому, что оно тонще чем "шаг...
C++ Статические члены и функции http://www.cyberforum.ru/cpp-beginners/thread421562.html
Что-то я не могу понять что я забыли и чяднт что код не компилируется. #include <iostream> #include <string> using namespace std; class test { private: static int x; public:
C++ Заменить в строке все множественные вхождения заданного символа одним Функция заменяет в строке все множественные вхождения заданного символа одним для использование нелбходимо использовать Указатели. Типизированные указатели. Указатели и массивы. Функции пользователя подробнее

Показать сообщение отдельно
Whiteha
Программист
33 / 33 / 4
Регистрация: 08.07.2011
Сообщений: 190
Записей в блоге: 1

Сумма и разность дат - C++

02.01.2012, 20:42. Просмотров 2072. Ответов 5
Метки (Все метки)

Есть класс содержащий: год, месяц, день, час, минуты, секунды.
Фактически это всё можно было бы заменить структурой tm из time.h, но это не желательно.
В общем возник вопрос - как можно попроще суммировать две даты или посчитать их разность?
Изобретать велосипед не хочется, моя версия состоит в использовании lokaltime() и mktime() из time.h.
Вот немного индусский и почему то не правильно работающий пример:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
tm t1;
    t1.tm_sec = obj1.ss;
    t1.tm_min = obj1.mm;
    t1.tm_hour = obj1.hh;
    t1.tm_mday = obj1.DD;
    t1.tm_mon = obj1.MM;
    t1.tm_year = obj1.YY - 1900;
 
    tm t2;
    t2.tm_sec = obj2.ss;
    t2.tm_min = obj2.mm;
    t2.tm_hour = obj2.hh;
    t2.tm_mday = obj2.DD;
    t2.tm_mon = obj2.MM;
    t2.tm_year = obj2.YY - 1900;
 
    time_t tt1 = mktime(&t1), tt2 = mktime(&t2);
    time_t tstr = tt2 - tt1;
    tm *tim = localtime(&tstr);
Словестное пояснение:
Инициализируем структуры t1 и t2 хранящимися в классе значениями, переводим всё это при помощи mktime() в секунды прошедшие с 1900 года, считаем разность(или сумму) в секундах и при помощи localtime() переводим обратно.

Есть одно но, получается глупость:
(формат: гггг мм дд чч мм сс)
Сумма и разность дат

Как быть? Что посоветуете?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru