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

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.007 c
1-81311
Loco
2002-07-12 13:26
2002.07.25
Снова исключения. = (


1-81329
saxon
2002-07-11 21:09
2002.07.25
Word Print


1-81302
Katerina
2002-07-09 09:04
2002.07.25
Кто-нибудь сталкивался с такой проблемой


3-81199
Grrey
2002-07-02 18:46
2002.07.25
Классическая ситуация


3-81207
wHammer
2002-07-05 12:30
2002.07.25
Приношу извинения за затерный вопрос...





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