Вниз
Скачать: CL | DM;

Даты!!!   Найти похожие ветки 

 
DenKop ©   (2002-04-12 21:50) [0]

Замучала вот такая задача.
Ищу разность между двумя датами так

function DifDate(Date1,Date2:String):TDateTime;
begin
Result:=StrToDate(Date2)-StrToDate(Date1);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage(DateToStr(DifDate("01.01.01","01.01.01")));
end;


Но в случае когда обе даты равны выдает следующее: 30.12.99
Когда Date2 больше Date1 на один день получаю: 31.12.99
........................ на один месяц получаю: 30.01.00
........................ на один год получаю: 30.12.00
Короче когда что больше чего-то на один день(год,месяц) или они равны, то получается бред какой-то. Возможно это связано с тем, что летоисчисление в TDateTime начинается с 30.12.1899. По моим соображениям оно должно начинаться с 31.12.1899. Как это дело обойти не нашёл, хотя времени уже убил теуву кучу.
Уважаемые, разъясните мне пожалуйста как обойти эту ситуацию?


 
Anatoly Podgoretsky ©   (2002-04-12 21:56) [1]

Разность между датами не является датой



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.009 c
1-80981
vaka
2002-04-12 14:03
2002.04.25
Помогите с мануалами, люди добрые:-)


1-80999
kserg@ukr.net
2002-04-11 11:00
2002.04.25
TStringList-Вопрос по основам


6-81013
Созонов Евгений
2002-02-14 10:17
2002.04.25
Получение информации (кто ? че делал ? время доступа ?) о доступе на свой комп.


3-80743
Shaman
2002-04-04 00:24
2002.04.25
Вопрос к знатокам InterBase


3-80806
B_A_V
2002-04-05 12:07
2002.04.25
Правое контекстное меню




   Наверх