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

Вниз

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

 
Евгений Сальников   (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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.5 MB
Время: 0.007 c
2-1252766894
Реактор
2009-09-12 18:48
2009.11.01
Как быстрее всего сравнить два ричунка


2-1252496495
DmitryNPK
2009-09-09 15:41
2009.11.01
Компьютер заблокирован


1-1222168796
Игорь
2008-09-23 15:19
2009.11.01
Как сменить пользователя программно?


15-1251923407
Юрий
2009-09-03 00:30
2009.11.01
С днем рождения ! 3 сентября 2009 четверг


15-1251885076
boriskb
2009-09-02 13:51
2009.11.01
40 лет интернету





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