Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.07.25;
Скачать: CL | DM;

Вниз

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

 
maxgeron   (2002-07-12 14:22) [0]

Мастера Дельфи! Подскажите в каком направлении двигаться. Есть две даты между которыми нужно подсчитать количество дней. Наверное нужно преобразовать дату (например из TDateTimePicker) в число, вычислить разницу, и сделать обратное - число преобразовать в дату. Со обратным преобразованием все нормально:
procedure TForm1.Button1Click(Sender: TObject);
var
k:double;
begin
try
k:=StrToFloat(Edit1.Text);
except
end;
Edit2.Text:=FormatDateTime("dd.mm.yyyy hh:mm:ss",k);
end;
а вот с прямым не получается...


 
Kaban ©   (2002-07-12 14:24) [1]

Количество дней между двумя датами = Round(Last_Date)-Round(First_Date)


 
Kaban ©   (2002-07-12 14:26) [2]

ага, не то
вместо k:=StrToFloat(Edit1.Text);
StrToDateTime


 
Johnmen ©   (2002-07-12 14:30) [3]

Удивительное постоянство этого вопроса ! :))))

1. Int(Last_Date)-Int(First_Date)
2. Int(Last_Date-First_Date)

Разная смысловая нагрузка, но ты вдумайся, и поймешь :)


 
maxgeron   (2002-07-12 14:31) [4]

А почему не то, ведь мы присвоим переменной число? За ответ спасибо, попробую.


 
Kaban ©   (2002-07-12 14:33) [5]

д, ошибочка вышла round к ближайшему округляет


 
Praco ©   (2002-07-12 14:34) [6]

RXLib
DateUtil.pas

DateDiff - Определяет разницу между датами, заданными Date1 и Date2 в днях, месяцах и годах.
DaysBetween - Вычисляет число дней между датами Date1 и Date2,
DaysInPeriod - Вычисляет число дней между датами Date1 и Date2


 
Kaban ©   (2002-07-12 14:35) [7]

кстати, есть подозрение, что Int(Last_Date-First_Date)
не прокатит


 
BAY ©   (2002-07-12 14:35) [8]

>Kaban
Ага. Тут Trunc надо


 
Johnmen ©   (2002-07-12 14:47) [9]

Да, конечно Trunc !


 
maxgeron   (2002-07-12 14:52) [10]

Спасибо всем за участие! Получилось прямое преобразование.
procedure TForm1.Button2Click(Sender: TObject);
var
n:double;
begin
n:=Int(DateTimePicker1.Date);
Edit3.Text:=FloatToStr(n);
end;
Пока это подойдет, а с остальными подсказками попробую позднее.


 
Johnmen ©   (2002-07-12 15:01) [11]

>maxgeron (12.07.02 14:52)

Интересно, а в чем информативность сего ?


 
maxgeron   (2002-07-12 15:29) [12]

>Johnmen
Ни в чем, просто получил цифру из даты. Это тот минимум, который был нужен.


 
MBo ©   (2002-07-12 15:38) [13]

>maxgeron
Ты бы посмотрел в хелпе описание TDateTime, все будет ясно


 
Anatoly Podgoretsky ©   (2002-07-12 15:51) [14]

Ты получил цифру из цифры, правда только целую часть
Тебе действительно надо посмотреть хелп о типа TDateTime



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

Текущий архив: 2002.07.25;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.013 c
14-81460
Mike B.
2002-06-27 14:29
2002.07.25
Груша


3-81198
Gunner
2002-07-04 20:23
2002.07.25
Кто может перечислить типы полей для MsAccess 2000


1-81289
OlDemon
2002-07-12 09:35
2002.07.25
Разделитель целой и дробной части


14-81472
BillyJeans
2002-06-28 15:49
2002.07.25
Help!!! Уехали картинки на панели инструментов...


1-81238
V.Turecky
2002-07-14 15:31
2002.07.25
Как записать в реестр значения типа REG_BINARY?