Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.04.11;
Скачать: [xml.tar.bz2];

Вниз

Математические действия с датой (TdateTime)   Найти похожие ветки 

 
Евгений-Зеленоград   (2002-03-29 21:44) [0]

Привет ВСЕМ! :?)) Много брожу, всех спрашиваю и никто толком не может ответить, как сделать приращение к дате (к примеру 10.11.2002)Необходимо сделать приращение к году вперед на пять лет, т.е. прибавить. Как вот это сделать ума не приложу! Конечно нужно отделить год от основной даты (декодировать) и после только делать математичесое преобразование, но как?
Заранее всем гран мерси.............


 
vuk   (2002-03-29 21:48) [1]

см. DecodeDate, EncodeDate


 
Anatoly Podgoretsky   (2002-03-29 21:54) [2]

Да ответ на простой вопрос, сколько дней в 5 годах и прибавь это количество.
Можно и через выше привденные функции, только будь поосторожнее с 29 апреля


 
Anatoly Podgoretsky   (2002-03-29 21:59) [3]

февраля


 
mukha   (2002-03-30 07:43) [4]

Тип TDateTime совместим с форматом вещественных чисел. Например: к сегодняшней дате надо добавить пять лет. Label1.Caption:=DateToStr(Date+1826); 1826=365x5+1. +1 потому, что из пяти лет один будет высокосным (в феврале 29 дней). Возможно, что за некий промежуток пяти лет попадёт и два высокосных года. Смотри по календарю.


 
Anatoly Podgoretsky   (2002-03-30 12:21) [5]

Я рискну предположить, что может пройти и 0 високосных лет


 
mukha   (2002-03-30 12:40) [6]

Anatoly Podgoretsky

Учитывая, что высокосный год - это каждый четвёртый год, такого не случится. Поэтому в промежуток 5 лет попадёт как минимум один высокосный год.При промежутке менее 5 лет - вполне возможно.


 
MBo   (2002-03-30 12:44) [7]

mukha
высокосный год - это каждый четвёртый год
не всегда. 1900 - нет.


 
drpass   (2002-03-30 12:54) [8]

Високосный год - год, который делится без остатка на 4 и не делится на 100, либо делится на 400. Но к чему вся эта математика, если можно взять DecodeDate+EncodeDate?


 
mukha   (2002-03-30 15:32) [9]

MBo

Я имел ввиду обозримое будущее. А в общем - согласен.


 
Anatoly Podgoretsky   (2002-03-30 15:55) [10]

mukha (30.03.02 12:40)
Извини, но ты неправильно учитываешь, возьми исходную дату например 12.02.1998 года и тебе все станет ясно, ч в данном интервеле 9 високосных лет.

drpass © (30.03.02 12:54)
Хоть прибавление, хоть декодирование - это все равно не устаняет проблемы 29 февраля, требуется анализ


 
mukha   (2002-03-30 16:30) [11]

Anatoly Podgoretsky © (30.03.02 15:55)

Я имел ввиду только интервал в 5 лет. И только на ближайшее будущее.


 
Anatoly Podgoretsky   (2002-03-30 16:35) [12]

Что у тебя в виду известно только телепатов, и на какое будущее тоже. А вот те которые скажем в 93 году тоже так утверждали, поняли это в 2000 году.
Насчет интервала в 5 лет и я все время говорю про него. Проблема 29 февраля существует в каждом 5 летнем интервале вне зависимости от ближайшего будущего.


 
Erlend   (2002-03-30 16:42) [13]

Unit DateUtils

Category date/time routines

function IncYear(const AValue: TDateTime; const ANumberOfYears: Integer = 1): TDateTime;


 
Anatoly Podgoretsky   (2002-03-30 16:52) [14]

Как там с 29 февраля, все в порядке?


 
Erlend   (2002-03-30 16:57) [15]

IccYear учитывет высокосные года.


 
Erlend   (2002-03-30 16:58) [16]

IncYear - конечно
Есть ещё и IncMonth.


 
Anatoly Podgoretsky   (2002-03-30 17:01) [17]

Я знаю про все эти функции, просто они мне не нужны, тестирование на все возможные ошибки займет больще времени, чем написание своей


 
Дима2   (2002-03-30 19:38) [18]

Знаю точно, что Time+Time проходит, вот только , если 23.58.59 +
00.02.00 то будет 00.01.59



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2002.04.11;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.007 c
3-32626
skywalker
2002-03-12 11:15
2002.04.11
Куча вопросов по Oracle


3-32650
Aidan
2002-03-19 17:19
2002.04.11
Как получить информацию о структуре таблицы с помощью SQL


3-32703
MaveRick
2002-03-21 04:20
2002.04.11
Есть ли возможность???


14-32963
Blackweber
2002-03-03 01:25
2002.04.11
AND&OR


14-32956
Dimich
2002-03-04 10:25
2002.04.11
Заземление в учебном классе





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский