
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
30.10.2006, 08:51
|
|||
|---|---|---|---|
|
|||
Класс Date |
|||
|
#18+
Помогите пожалуйста реализовать собственный класс Date, где дата хранится в виде целого числа дней, равного количеству дней от 1 января 1900 года. Нужно учесть високосные годы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
30.10.2006, 09:30
|
|||
|---|---|---|---|
Класс Date |
|||
|
#18+
В С++Builder есть класс TDateTime. Примерно, то что тебе нужно. Правда хранится в виде double (дробная часть - время) и стартовая дата другая. Классы поставляется с исходными текстами, там можно посмотреть, как все реализовано. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
30.10.2006, 09:53
|
|||
|---|---|---|---|
Класс Date |
|||
|
#18+
//--------------------------------------------------------------------------- #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параметр конец отсчета дней ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
30.10.2006, 10:29
|
|||
|---|---|---|---|
|
|||
Класс Date |
|||
|
#18+
По-моему, вот этот клас гораздо удобнее чем Borland-овский: http://www.du.edu/~cyball/c_cpp/jdate.html Попробуй, лично мне он очень нравится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=57&mobile=1&tid=2030144]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
175ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
30ms |
get tp. blocked users: |
1ms |
| others: | 231ms |
| total: | 473ms |

| 0 / 0 |
