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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 24, средняя оценка - 4.75
Stesh
0 / 0 / 0
Регистрация: 30.04.2010
Сообщений: 27
#1

CTime, часть даты и разница дат - C++

23.07.2006, 23:07. Просмотров 2874. Ответов 2
Метки нет (Все метки)

Подскажите, как можно получить часть даты - отдельно год, день, и номер месяца - из переменной CTime ...я думала, что GetYear(), GetDay() будут работать, но они возвращают почему-то дату начального отсчёта - соответственно 01, 01, 1970 (хотя содержимое исходной переменной точно не такое)



когда я использую .Format - я получаю строку ведь на выходе...или её потом в int переводить и только так работать?



и ещё - можно ли с помощью встроенных функций работы с датами, имея начальную дату и зная сколько всего дней прошло от этой даты - преобразовать её в кол-во лет + месяцев + дней
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.07.2006, 23:07     CTime, часть даты и разница дат
Посмотрите здесь:

Ошибка в задаче: Найти мин. k, которое будет удовлетворять условию: fabs(правая часть - левая часть) < 10^(-15) C++
Разница дат, неправильно считает C++
GCC как часть библиотек линковать статически, а часть динамически? C++
C++ Складывание дат
C++ Есть ли возможность в char-массив часть данных ввести в буквах, а часть в цифрах?
Разработать класс CTime для работы со значениями времени C++
Вставка ctime и заполнения массива рандомом C++
C++ Использование time.h (ctime)
Разделить дробное число на 2 части: целая часть числа и его дробная часть C++
C++ Как работать с <ctime>?
C++ Как обработать результат функции ctime?
Скопировать часть строки и часть удалить C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Logot
1 / 1 / 0
Регистрация: 15.05.2010
Сообщений: 54
24.07.2006, 00:40     CTime, часть даты и разница дат #2
Вы случайно не забыли инициализировать CTime
C++
1
CTime tm(2006,07,20,11,59,59);
или
C++
1
CTime tm = CTime::GetCurrentTime();
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int nDay = tm.GetDay();    //20
int nYear = tm.GetYear();  //2006
int nSecond = tm.GetSecond(); //59
int nMonth = tm.GetMonth(); //7
int nHour = tm.GetHour();     //11
 
CTimeSpan span(2,10,0,0);
tm += span;
 
int nDay = tm.GetDay();   //22
int nYear = tm.GetYear();  //2006
int nSecond = tm.GetSecond(); //59
int nMonth = tm.GetMonth();  //7
int nHour = tm.GetHour();      //21
А вообще, я использую COleDateTime и COleDateTimeSpan, но это дело вкуса
Stesh
0 / 0 / 0
Регистрация: 30.04.2010
Сообщений: 27
24.07.2006, 01:56  [ТС]     CTime, часть даты и разница дат #3
Logot (23.07.2006)
Вы случайно не забыли инициализировать CTime

CTime tm(2006,07,20,11,59,59);

или

CTime tm = CTime::GetCurrentTime();
не забыла :-)

Logot (23.07.2006)


int nDay = tm.GetDay(); //20

int nYear = tm.GetYear(); //2006

int nSecond = tm.GetSecond(); //59

int nMonth = tm.GetMonth(); //7

int nHour = tm.GetHour(); //11


Всё понятно..я почему-то решила, что tm.GetDay(); должно быть CTime



Logot (23.07.2006)


CTimeSpan span(2,10,0,0);

tm += span;
Возьму на заметку, хотя не совсем то, что мне нужно...я хочу на введённую дату выдать ответ, что до сегодняшнего дня с той даты прошло столько месяцев, дней, лет.

Я собссно вот что делаю:

Код
CTime currt=CTime::GetCurrentTime();

CTimeSpan diff=currt-m_DTP;

/*m_DTP  переменная привязанная к DateTimePicker*/
и в результате у меня diff получается кол-во дней ...и проблема скажем 586 дней разбить на 1 год X месяцев Y дней



Хотя, может я неправильно делаю
Yandex
Объявления
24.07.2006, 01:56     CTime, часть даты и разница дат
Ответ Создать тему
Опции темы

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