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

Вниз

Как сравнить две даты, высчитав кол-во дней?   Найти похожие ветки 

 
Евгений Сальников   (2009-09-12 20:55) [0]

Всем Привет,
Есть две даты, в формате:

Едит1 (2009-09-12)
Едит2 (2009-11-05)

Как обработав две даты, вывести в Едит3 (54) ?


 
oldman ©   (2009-09-12 21:05) [1]

a3=a2-a1


 
Юрий Зотов ©   (2009-09-12 21:23) [2]

Edit2.Text := IntToStr(Trunc(StrToDate(Edit2.Text) - StrToDate(Edit1.Text)));


 
KilkennyCat ©   (2009-09-12 22:23) [3]

Не уверен, что вышеданные советы учитываюь количество дней в месяцах, месяцев в году...

uses DateUtils
function DaysBetween(const ANow: TDateTime; const AThen: TDateTime): Integer;


 
KilkennyCat ©   (2009-09-12 22:25) [4]


> Юрий Зотов © (12.09.09 21:23) [2]

а, я незаметил strToDate, извиняюсь....


 
Евгений Сальников   (2009-09-12 23:45) [5]


> Юрий Зотов ©   (12.09.09 21:23) [2]


Спасибо! Ох и Вася же я )))


 
Евгений Сальников   (2009-09-12 23:57) [6]

Удалено модератором


 
Евгений Сальников   (2009-09-13 00:43) [7]

А как преобразовать 2009-09-12 в 12.09.2009 ?


 
Германн ©   (2009-09-13 01:08) [8]


> Евгений Сальников   (13.09.09 00:43) [7]
>
> А как преобразовать 2009-09-12 в 12.09.2009 ?

Читать хелп.
Начинать с StrToDate, далее по гиперссылкам.


 
СовестьДМ ©   (2009-09-13 02:17) [9]


> Юрий Зотов ©   (12.09.09 21:23) [2]

как насчет EConvertError?


 
Германн ©   (2009-09-13 02:24) [10]


> СовестьДМ ©   (13.09.09 02:17) [9]
>
>
> > Юрий Зотов ©   (12.09.09 21:23) [2]
>
> как насчет EConvertError?

Обработать как положено.


 
СовестьДМ ©   (2009-09-13 02:27) [11]


> Германн ©   (13.09.09 02:24) [10]

за Зотова заступился типо?


 
Германн ©   (2009-09-13 02:46) [12]


> СовестьДМ ©   (13.09.09 02:27) [11]

Спать, алкаш, спать!


 
СовестьДМ ©   (2009-09-13 02:56) [13]

грубый ты
и откуда эта знания про алкашей???


 
Anatoly Podgoretsky ©   (2009-09-13 06:19) [14]

> СовестьДМ  (13.09.2009 02:56:13)  [13]

В три часа ночи то.


 
Юрий Зотов ©   (2009-09-13 09:36) [15]

> СовестьДМ ©   (13.09.09 02:17) [9]

> как насчет EConvertError?

Как обычно - если ввели не дату, то получим сообщение об ошибке и код не сработает.

Впрочем, я не буду возражать, если Вы вместо ламерских подколок снизойдете до того, что приведете здесь же пример обработки такой ситуации. После того, как проснетесь, конечно.


 
Юрий Зотов ©   (2009-09-13 09:45) [16]

> Евгений Сальников   (13.09.09 00:43) [7]

> А как преобразовать 2009-09-12 в 12.09.2009 ?

Преобразовывать надо не строку в другую строку, а строку в дату (тип TDate или TDateTime). Если исходная строка представляет дату в системном формате, то этот формат можно не указывать, а если в другом, то его надо явно указать. Поэтому существуют 2 варианта функции StrToDate, а детали и примеры см. в справке.


 
СовестьДМ ©   (2009-09-13 12:51) [17]


> Юрий Зотов ©   (13.09.09 09:36) [15]

Ваш Мастерский сарказм неуместен
не так ли?


 
Rouse_ ©   (2009-09-13 13:39) [18]


> СовестьДМ ©

Ты уж определись с ником и остановись на каком нибудь одном, либо "СовестьДМ", либо "TUser"


 
Евгений Сальников   (2009-09-13 13:49) [19]


> Rouse_ ©   (13.09.09 13:39) [18]
Ха ха...


 
Юрий Зотов ©   (2009-09-13 14:01) [20]

> СовестьДМ ©   (13.09.09 12:51) [17]

Если это все, что Вы можете сказать (вместо того, чтобы показать новичку обработку ошибок ввода), то отвечаю: Ваш ламерский сарказм был неуместен тем более.


 
Евгений Сальников   (2009-09-13 14:55) [21]

Парни, не сортесь, объясните на примере пожалуйста!


 
Юрий Зотов ©   (2009-09-13 15:21) [22]

Евгений Сальников   (13.09.09 14:55) [21]

// Преобразует строку формата YYYY-MM-DD в дату
function YYYY_MM_DD_ToDate(YYYY_MM_DD: string): TDate;
var
 Settings: TFormatSettings;
begin
 GetLocaleFormatSettings(GetThreadLocale, Settings);
 Settings.DateSeparator := "-";
 Settings.ShortDateFormat := "yyyy-mm-dd";
 Result := StrToDate(YYYY_MM_DD, Settings)
end;

procedure TForm1.FormClick(Sender: TObject);
begin
 Caption := DateToStr(YYYY_MM_DD_ToDate(Edit1.Text))
end;


 
Евгений Сальников   (2009-09-13 15:36) [23]


> Юрий Зотов ©   (13.09.09 15:21) [22]


Спасибо, коротко и лаконично, дай бог вам Здоровья и еще раз с Праздником! Всем Спасибо за обучение!


 
turbouser ©   (2009-09-13 17:49) [24]


> Rouse_ ©   (13.09.09 13:39) [18]

Пропил совесть tuser :))


 
Anatoly Podgoretsky ©   (2009-09-13 20:19) [25]

А чего сокращенно?



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

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

Наверх




Память: 0.52 MB
Время: 0.02 c
15-1252096207
Юрий
2009-09-05 00:30
2009.11.01
С днем рождения ! 5 сентября 2009 суббота


15-1251978221
Ak47
2009-09-03 15:43
2009.11.01
проверить содержится ли значение в массиве


15-1251731165
HarryG
2009-08-31 19:06
2009.11.01
Печать картинок под wine


2-1252096753
Shyrick
2009-09-05 00:39
2009.11.01
Межпроцессное взаимодействие IPC


15-1252009806
Юрий
2009-09-04 00:30
2009.11.01
С днем рождения ! 4 сентября 2009 пятница