Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > Работа с датами


Автор: sinij 13.3.2006, 10:49
Может кто сталкивался!
Есть год и месяц как определить количество дней в месяце (с учетом высокосного года)?

Автор: takedo 13.3.2006, 11:04
именно с этим не сталкивался, но ты можешь (прости, что я на MFC, может хоть идея поможет) Ctime time0 = CTime(год, месяц, первое число,0,0,0,0); time1 = CTime(год, месяц+1, первое число,0,0,0,0);, тут конечно надо проверить не вылетел ли ты в другой год. А дальше CTimeSpan ts = time1-time0. Требуемое количество дней = ts.GetDays(); но это только идея, её надо будет дорабатывать как минимум с точки зрения переходов на летнее-зимнее время, и может быть ещё на что нибдуь. smile

Автор: _hunter 13.3.2006, 11:27
DaysInAMonth из DateUtils используй

Автор: takedo 13.3.2006, 11:30
_hunter, smile

Автор: sexton 13.3.2006, 11:33
А еще вот так smile :
Код

int kdm[] = {31,28,31,30,31,30,31,31,30,31,30,31};
// если год високосный, то в феврале 29 дней
if(Year%4 == 0) kdm[1] = 29;

Автор: sinij 13.3.2006, 11:35
Спасибо всем!
Нашел вот такое может кому понадобится
MonthDays[IsLeapYear(номер_года)][номер_месяца]

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)