CTime, часть даты и разница дат
Релиб
Форумы       Участники    Календарь    Кто он-лайн?
Добро пожаловать, гость ( Вход | Регистрация )
        



CTime, часть даты и разница дат Expand / Collapse
Автор
Сообщение
23.07.2006 19:07
Forum Member

Forum MemberForum MemberForum MemberForum MemberForum MemberForum MemberForum MemberForum Member

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

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

и ещё - можно ли с помощью встроенных функций работы с датами, имея начальную дату и зная сколько всего дней прошло от этой даты - преобразовать её в кол-во лет + месяцев + дней
Сообщ. #901226
23.07.2006 20:40
Forum Guru

Forum GuruForum GuruForum GuruForum GuruForum GuruForum GuruForum GuruForum Guru

участник
Last Login: 15.10.2008 20:53
Сообщ.: 60, Visits: 642
Вы случайно не забыли инициализировать CTime
CTime tm(2006,07,20,11,59,59);
или
CTime tm = CTime::GetCurrentTime();

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, но это дело вкуса :)
Сообщ. #901228
23.07.2006 21:56
Forum Member

Forum MemberForum MemberForum MemberForum MemberForum MemberForum MemberForum MemberForum Member

участник
Last Login: 21.10.2006 17:09
Сообщ.: 27, Visits: 231
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 дней

Хотя, может я неправильно делаю :(
Сообщ. #901230
« пред. тема | след. тема »


Эту тему читают Expand / Collapse
Посетители: 0 (0 гостей, 0 участников, 0 скрыт.участников)
Сейчас нет участников, просматривающих тему.
Модераторы: Alexey, boombastik, bazile, pl

Время GMT +3:00, Сейчас 6:50