powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Класс Date
6 сообщений из 6, страница 1 из 1
Класс Date
    #34090002
Smesh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогите пожалуйста реализовать собственный класс Date, где дата хранится в виде целого числа дней, равного количеству дней от 1 января 1900 года. Нужно учесть високосные годы.
...
Рейтинг: 0 / 0
Класс Date
    #34090065
SnowMan2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В С++Builder есть класс TDateTime. Примерно, то что тебе нужно. Правда хранится в виде double (дробная часть - время) и стартовая дата другая. Классы поставляется с исходными текстами, там можно посмотреть, как все реализовано.
...
Рейтинг: 0 / 0
Класс Date
    #34090121
VladimirP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
//---------------------------------------------------------------------------
#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
Класс Date
    #34090214
gl@z
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
По-моему, вот этот клас гораздо удобнее чем Borland-овский:
http://www.du.edu/~cyball/c_cpp/jdate.html
Попробуй, лично мне он очень нравится.
...
Рейтинг: 0 / 0
Класс Date
    #34092369
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ышо адын студэнт ...
...
Рейтинг: 0 / 0
Класс Date
    #34095218
gl@z
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZivЫшо адын студэнт ... :-) К сожалению, уже давно не такой!.. Просто любител.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Класс Date
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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