![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Работа с датой! [D5, Win2k]
Natalie © (2002-06-10 17:10:00)Как добавить например к текущей дате 18 месяцев, не разбивая дату на части (день, месяц, год) ???
MBo (2002-06-11 06:43:00) [1]>MaximatorVeter
зря ты упорствуешь - понятие 18 месяцев нельзя однозначно определить числом дней, нужно увеличить год на 1 (365 или 366?), и потом число месяцев на 6 (число дней разное!) при этом проверить попадание на 29 февраля и смену года. Посмотри, как сделано в RXLib (dateutil.pas)
MaximatorVeter (2002-06-10 19:06:00) [2]
> Natalie (10.06.02 17:39
Или TDate ...
MaximatorVeter (2002-06-10 18:26:00) [3]> Игорь Шевченко © (10.06.02 18:05)
From Help:
The integral part of a TDateTime value is the number of days that have passed since 12/30/1899.
Игорь Шевченко (2002-06-10 18:05:00) [4]MaximatorVeter © (10.06.02 17:51)
> Но ведь зная текущую дату можно определить точное количество
> дней в грядущих 18-ти месяцах - значит можно!
Без разбиения ? :-)
MaximatorVeter (2002-06-10 17:51:00) [5]
> Игорь Шевченко © (10.06.02 17:35)
Но ведь зная текущую дату можно определить точное количество дней в грядущих 18-ти месяцах - значит можно!
> Natalie (10.06.02 17:39)
См. TDateTime ...
Natalie (2002-06-10 17:39:00) [6]Так можно или нет????!!!!
Игорь Шевченко (2002-06-10 17:35:00) [7]MaximatorVeter © (10.06.02 17:32)
Нельзя. 18 месяцев - это неточное количество дней
MaximatorVeter (2002-06-10 17:35:00) [8]В смысле использовать для хранения даты тип TDateTime вместо TSystemTime.
MaximatorVeter (2002-06-10 17:32:00) [9]Можно.
type TDateTime = type Double;
Natalie (2002-06-10 17:25:00) [10]Grand merci!!! Tante grzie!!! Дякую!!!!Спасибо.... Будем разбивать.................
MBo (2002-06-10 17:17:00) [11]не разбивая -никак. В RXlib есть INcMonth, IncYear, но они все равно через DecodeDate работают