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

Вниз

Как посчитать сколько прошло ГГГГ.ММ.ДД   Найти похожие ветки 

 
Mamochka ©   (2006-09-04 11:15) [0]

Есть начальная дата, есть конечная дата, Вопрос: Как посчитать сколько прошло ГГГГ.ММ.ДД от начальной даты до конечной?
Спасибо :о)


 
Ega23 ©   (2006-09-04 11:18) [1]

Если Tdatetime - то вычитанием.


 
MBo ©   (2006-09-04 11:18) [2]

Вычитанием


 
Mamochka ©   (2006-09-04 11:20) [3]


> Ega23 ©   (04.09.06 11:18) [1]

И он покажет например: 1 год 11 месяцев 22 дня


 
Desdechado ©   (2006-09-04 11:24) [4]

Mamochka ©   (04.09.06 11:20) [3]
Если бы годы были одинаковой длины и месяцы - тоже, то да. Но это невозможно, поэтому только в днях.


 
Mamochka ©   (2006-09-04 11:26) [5]


> Desdechado ©   (04.09.06 11:24) [4]

хорошо, а как?


 
Desdechado ©   (2006-09-04 11:30) [6]

вычитанием


 
Ega23 ©   (2006-09-04 11:33) [7]


> И он покажет например: 1 год 11 месяцев 22 дня


Что есть TDateTime? Целая часть - количество дней, прошедших с 30.12.1899. Дробная - часы-минуты-секунды-миллисекунды в рамках одного дня.
Вычитанием ты узнаешь разницу, как её потом в годы интерпретировать - твоё дело.


 
MBo ©   (2006-09-04 11:34) [8]

DateUtils.YearsBetween и т.п. функции


 
Mamochka ©   (2006-09-04 11:42) [9]


> Ega23 ©   (04.09.06 11:33) [7]

вот смотри:

var a,b,c:TDateTime
begin
 a:=Table1.FieldByName("Datain").AsDateTime; //Начальная дата
 b:=Date; //Текущее значение даты
 c:=b-c; //Получаем разницу
end;

так или нет, если так что дальше мне делать с "С"?


 
Mamochka ©   (2006-09-04 11:43) [10]


> Ega23 ©   (04.09.06 11:33) [7]


ПОПРАВОЧКА :о)

вот смотри:

var a,b,c:TDateTime
begin
a:=Table1.FieldByName("Datain").AsDateTime; //Начальная дата
b:=Date; //Текущее значение даты
c:=b-a; //Получаем разницу
end;

так или нет, если так что дальше мне делать с "С"?


 
Думкин ©   (2006-09-04 12:33) [11]

> Mamochka ©   (04.09.06 11:43) [10]

Сколько в ваших терминах прошло
1. с 28 февраля 1992 года по 29 марта 1996 года?
2. с 28 февраля 1993 года по 29 марта 1994 года?
Почему?


 
Ega23 ©   (2006-09-04 12:38) [12]


> так или нет, если так что дальше мне делать с "С"?
>


Чему равно C? Например, 584.0 Тогда ты сможешь смело сказать, что с a по b прошло 584 дня. Или 50457600 секунд.


 
MBo ©   (2006-09-04 13:35) [13]

из RXLib.DateUtil:

procedure DateDiff(Date1, Date2: TDateTime; var Days, Months, Years: Word);
{ Corrected by Anatoly A. Sanko (2:450/73) }
var
 DtSwap: TDateTime;
 Day1, Day2, Month1, Month2, Year1, Year2: Word;
begin
 if Date1 > Date2 then begin
   DtSwap := Date1;
   Date1 := Date2;
   Date2 := DtSwap;
 end;
 DecodeDate(Date1, Year1, Month1, Day1);
 DecodeDate(Date2, Year2, Month2, Day2);
 Years := Year2 - Year1;
 Months := 0;
 Days := 0;
 if Month2 < Month1 then begin
   Inc(Months, 12);
   Dec(Years);
 end;
 Inc(Months, Month2 - Month1);
 if Day2 < Day1 then begin
   Inc(Days, DaysPerMonth(Year1, Month1));
   if Months = 0 then begin
     Dec(Years);
     Months := 11;
   end
   else Dec(Months);
 end;
 Inc(Days, Day2 - Day1);
end;



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

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

Наверх





Память: 0.48 MB
Время: 0.042 c
2-1157434617
Handle
2006-09-05 09:36
2006.09.24
Как переименовать много файлов


15-1157294188
Konstantin555
2006-09-03 18:36
2006.09.24
Где можно узнать - что обозначают %3A,%2F.... в HTML?


3-1153320083
SamProf
2006-07-19 18:41
2006.09.24
Как обновить данные в таблице


1-1155507041
LORD Gregory
2006-08-14 02:10
2006.09.24
Народ как мне получить значение второй записи в Поле "КОД"???


10-1122963978
alles
2005-08-02 10:26
2006.09.24
Юзера и сервер COM





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский