WWW.ИСХОДНИКИ.РУ cpp.sources.ru
java.sources.ru web.sources.ru soft.sources.ru
jdbc.sources.ru asp.sources.ru api.sources.ru

  Форум на исходниках
  C / C++ / Visual C++
  Вопрос по датам

СПРОСИТЬ  ОТВЕТИТЬ
профайл | регистрация | faq

Автор Тема:   Вопрос по датам
Finder опубликован 24-10-2001 12:23 MSK   Click Here to See the Profile for Finder   Click Here to Email Finder  
Как можно получить разницу в днях от двух дат?
Типа:
Кол_дней = Тек_дата - Старая_дата
Lord_DEMON опубликован 24-10-2001 12:32 MSK     Click Here to See the Profile for Lord_DEMON  Click Here to Email Lord_DEMON     
Написать руками :)) соответствующую прогу :)
все, что надо - это выбрать начальную точку, и от нее подсчитать сколько прошло дней до одной даты и до другой :)
Finder опубликован 24-10-2001 12:41 MSK     Click Here to See the Profile for Finder  Click Here to Email Finder     
Тоесть стандартными средствами никак?
Был примерчик на жабе, где предлагалось через подсчет милисекунд. Но результат получился кривой какой-то :(
Lord_DEMON опубликован 24-10-2001 12:51 MSK     Click Here to See the Profile for Lord_DEMON  Click Here to Email Lord_DEMON     
к сожалению я не в курсе, есть ли в С++ что нить подобное...
Ну а руками то писать - дело 20 минут :)
Finder опубликован 24-10-2001 12:59 MSK     Click Here to See the Profile for Finder  Click Here to Email Finder     
Накинь, плз, примерчик. А то я что-то не очень понял.
Flex Ferrum опубликован 24-10-2001 13:22 MSK     Click Here to See the Profile for Flex Ferrum  Click Here to Email Flex Ferrum     
Все очень просто (если даты хранятся в виде time_t):

time_t to_time = someTime;
time_t from_time = time(NULL);

int diff = difftime(from_time, to_time) / (3600 * 24);

Lord_DEMON опубликован 24-10-2001 13:56 MSK     Click Here to See the Profile for Lord_DEMON  Click Here to Email Lord_DEMON     
Спасибо Flex! не знал :)
Есть еще CTime.
Finder опубликован 24-10-2001 14:17 MSK     Click Here to See the Profile for Finder  Click Here to Email Finder     
Спасибо!
А для СOleDateTime есть что-то подобное?
Flex Ferrum опубликован 24-10-2001 14:27 MSK     Click Here to See the Profile for Flex Ferrum  Click Here to Email Flex Ferrum     
В MSDN должно быть написано
SUnteXx опубликован 24-10-2001 14:59 MSK     Click Here to See the Profile for SUnteXx  Click Here to Email SUnteXx     
2 Finder. Проверь свое мыло! Я кинул пример! Если письмо не дошло, мыль мне!
Finder опубликован 24-10-2001 15:39 MSK     Click Here to See the Profile for Finder  Click Here to Email Finder     
Вложение не дошло.
SUnteXx опубликован 24-10-2001 15:47 MSK     Click Here to See the Profile for SUnteXx  Click Here to Email SUnteXx     
А щаз?
Finder опубликован 24-10-2001 15:51 MSK     Click Here to See the Profile for Finder  Click Here to Email Finder     
Ok! Спасибо!
m_fox опубликован 24-10-2001 16:56 MSK     Click Here to See the Profile for m_fox  Click Here to Email m_fox     
В 1с такая хрень реализована через Дата1-Дата2 :)

Но сама 1с - полный отстой...

Finder опубликован 24-10-2001 17:22 MSK     Click Here to See the Profile for Finder  Click Here to Email Finder     
Да и в Клиппере даже можно Date1 - Date2, а в VC++ в результате "01/01/1899" (и не понятно почему именно такая дата)
migel опубликован 24-10-2001 18:54 MSK     Click Here to See the Profile for migel  Click Here to Email migel     
COleDateTimeSpan есть такой класс - как раз для разростей дат придуман
вот пример
COleDateTime t1( 1999, 3, 19, 22, 15, 0 );
// 10:15PM March 19, 1999
COleDateTime t2( 1999, 3, 20, 22, 15, 0 );
// 10:15PM March 20, 1999 // Subtract 2 COleDateTimes COleDateTimeSpan ts = t2 - t1; // one day is 24 * 60 * 60 == 86400 seconds
ASSERT( ts.GetTotalSeconds() == 86400L );
// Add a COleDateTimeSpan to a COleDateTime. ASSERT( ( t1 + ts ) == t2 );
gecky опубликован 24-10-2001 21:11 MSK     Click Here to See the Profile for gecky  Click Here to Email gecky     
а ещё есть функция GetSystemTime
она заполняет структуру SYSTEMTIME. Тама дни, час... мсек
Finder опубликован 25-10-2001 12:40 MSK     Click Here to See the Profile for Finder  Click Here to Email Finder     
Всем огромное спасибо за помощь!

СПРОСИТЬ  ОТВЕТИТЬ
Перейти:


E-mail | WWW.ИСХОДНИКИ.RU

Powered by: Ultimate Bulletin Board, Freeware Version 5.10a
Purchase our Licensed Version- which adds many more features!
© Infopop Corporation (formerly Madrona Park, Inc.), 1998 - 2000.