Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Класс Date / 6 сообщений из 6, страница 1 из 1
30.10.2006, 08:51
    #34090002
Smesh
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Класс Date
Помогите пожалуйста реализовать собственный класс Date, где дата хранится в виде целого числа дней, равного количеству дней от 1 января 1900 года. Нужно учесть високосные годы.
...
Рейтинг: 0 / 0
30.10.2006, 09:30
    #34090065
SnowMan2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Класс Date
В С++Builder есть класс TDateTime. Примерно, то что тебе нужно. Правда хранится в виде double (дробная часть - время) и стартовая дата другая. Классы поставляется с исходными текстами, там можно посмотреть, как все реализовано.
...
Рейтинг: 0 / 0
30.10.2006, 09:53
    #34090121
VladimirP
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Класс Date
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop

#include "DataTimeFunction.h"
///////////////////////////// DataTimeFunction.h"
//---------------------------------------------------------------------------
#ifndef DataTimeFunctionH
#define DataTimeFunctionH
//---------------------------------------------------------------------------
double CalculateAge(TDateTime dtBirthDay, TDateTime dtCurrentDay); // User declarations
//---------------------------------------------------------------------------
#endif
///////////////////////////////
//---------------------------------------------------------------------------
#pragma package(smart_init)
//---------------------------------------------------------------------------
double CalculateAge(TDateTime dtBirthDay, TDateTime dtCurrentDay)
{
//TODO: Add your source code here
// сколько я понял, значение TDateTime хранится в размерности double
// целая часть отвечает за колличество дней,
// а дробная часть отвечает за часы, минуты, секунды, и тики.
// переводим значения в целое число, что бы получить колличество дней
// вычисляем колличество прожитых дней и делим на число дней в году
double dAge;
long int liBirthDay, liCurrentDay;
if( dtBirthDay < dtCurrentDay)
{
liBirthDay = ( long int) dtBirthDay.Val; //дни от нуля до дня рождения
liCurrentDay = ( long int) dtCurrentDay.Val; //дни от нуля до текущей даты
dAge = ( liCurrentDay - liBirthDay);// / 365.; //прожитые дни делим на число дней в году
}
else
dAge = (double) 1;
if( dAge <= 0)
dAge = (double) 1;
return dAge;
}
//---------------------------------------------------------------------------
//Это вычисление колличество дней. Убери деление на 365.
//дальше разберешься сам 1параметр начало отсчета 2параметр конец отсчета дней
...
Рейтинг: 0 / 0
30.10.2006, 10:29
    #34090214
gl@z
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Класс Date
По-моему, вот этот клас гораздо удобнее чем Borland-овский:
http://www.du.edu/~cyball/c_cpp/jdate.html
Попробуй, лично мне он очень нравится.
...
Рейтинг: 0 / 0
30.10.2006, 19:44
    #34092369
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Класс Date
Ышо адын студэнт ...
...
Рейтинг: 0 / 0
31.10.2006, 17:19
    #34095218
gl@z
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Класс Date
MasterZivЫшо адын студэнт ... :-) К сожалению, уже давно не такой!.. Просто любител.
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Класс Date / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]