Делпхи програмирање: рутина датума / времена

Упоређује две вредности ТДатеТиме (враћа „мање“, „једнако“ или „веће“). Занемарује временски део ако обе вредности „падну“ на исти дан.

Упореди функцијуДатеТиме

Упоређује две вредности ТДатеТиме (враћа „мање“, „једнако“ или „веће“).

Изјава:
откуцајте ТВалуеРелатионхип = -1..1
функција ЦомпареДатеТиме (цонст АДате, БДате: ТДатеТиме): ТВалуеРелатионсхип

Опис:
Упоређује две вредности ТДатеТиме (враћа „мање“, „једнако“ или „веће“).

ТВалуеРелатионхип представља однос између две вредности. Свака од три вредности ТВалуеРелатионсхип има симболичку константу „свидја“:
-1 [ЛессТханВалуе] Прва вредност је мања од друге вредности.
0 [ЕкуалсВалуе] Две вредности су једнаке.
1 [ГреатерТханВалуе] Прва вредност је већа од друге вредности.
Упореди резултате у:

ЛессТханВалуе ако је АДате старији од БДате.
ЕкуалсВалуе ако су датум и време као АДате и БДате исти
ГреатерТханВалуе ако је АДате каснији од БДате.

Пример:

вар ТхисМомент, ФутуреМомент: ТДатеТиме; ТхисМомент: = Сада; ФутуреМомент: = ИнцДаи (ТхисМомент, 6); // додаје 6 дана. // УпоредиДатеТиме (ТхисМомент, ФутуреМомент) враћа ЛессТханВалуе (-1) // ЦомпареДатеТиме (ФутуреМомент, ТхисМомент) враћа ГреатерТханВалуе (1)
instagram viewer

ЦомпареТиме функција

Упоређује две вредности ТДатеТиме (враћа „мање“, „једнако“ или „веће“). Игнорира дио датума ако се обје вриједности појављују истовремено.

Изјава:
откуцајте ТВалуеРелатионхип = -1..1
функција ЦомпареДате (цонст АДате, БДате: ТДатеТиме): ТВалуеРелатионсхип

Опис:
Упоређује две вредности ТДатеТиме (враћа „мање“, „једнако“ или „веће“). Игнорише део Времена ако се обе вредности појављују у исто време.

ТВалуеРелатионхип представља однос између две вредности. Свака од три вредности ТВалуеРелатионсхип има симболичку константу „свидја“:
-1 [ЛессТханВалуе] Прва вредност је мања од друге вредности.
0 [ЕкуалсВалуе] Две вредности су једнаке.
1 [ГреатерТханВалуе] Прва вредност је већа од друге вредности.
Упореди резултате у:

ЛессТханВалуе ако се АДате догоди раније у дану који је одредио БДате.
ЕкуалсВалуе ако су временски делови АДате и БДате исти, занемарујући датум датум.
ГреатерТханВалуе ако се АДате догоди касније током дана који је одредио БДате.

Пример:

вар ТхисМомент, АнотхерМомент: ТДатеТиме; ТхисМомент: = Сада; АнотхерМомент: = ИнцХоур (ТхисМомент, 6); // додаје 6 сати. // УпоредиДате (ТхисМомент, АнотхерМомент) враћа ЛессТханВалуе (-1) // УпоредиДате (АнотхерМомент, ТхисМомент) враћа ГреатерТханВалуе (1

Датум функција

Враћа тренутни датум система.

Изјава:
тип ТДатеТиме = тип Доубле;

функција датум: ТДатеТиме;

Опис:
Враћа тренутни датум система.

Саставни део вредности ТДатеТиме је број дана који су прошли од 30.12.1899. Фракциони део вредности ТДатеТиме је део 24 часа који је протекао.

Да бисте пронашли фракцијски број дана између два датума, једноставно одузмите две вредности. Исто тако, да бисте увећали вредност датума и времена за одређени фракцијски број дана, једноставно додајте број фракције вредности датуму и времену.

Пример: СховМессаге ('Данас је' + ДатеТоСтр (Датум));

ДатеТимеТоСтр функција

Претвара вредност ТДатеТиме у низ (датум и време).

Изјава:
тип
ТДатеТиме = тип Доубле;

функција ДаиОфВеек (Датум: ТДатеТиме): цијели број;

Опис:
Враћа дан у недељи за одређени датум.

ДаиОфВеек враћа цели број између 1 и 7, где је недеља први дан у недељи, а субота седма.
ДаиОфТхеВеек није у складу са ИСО 8601 стандардом.

Пример:

цонст Дани: низ [1..7] оф стринг = ('Недеља Понедељак Уторак Среда Четвртак Петак Субота') СховМессаге ('Данас је' + Дани [ДаиОфВеек (Датум)]); //Данас је понедељак

ДаисБет између функције

Даје број целих дана између два наведена датума.

Изјава:
функција
ДаисБет између (цонст АНов, АТхен: ТДатеТиме): Интегер;

Опис:
Даје број целих дана између два наведена датума.

Функција броји само читаве дане. То значи да ће вратити 0 као резултат разлике између 01.05.2003 23:59:59 и 01.05.2003 23:59:58 - где је стварна разлика један * цео * дан минус 1 секунда .

Пример:

вар дтНов, дтБиртх: ТДатеТиме; ДаисФромБиртх: цео број; дтНов: = Сада; дтБиртх: = ЕнцодеДате (1973, 1, 29); ДаисФромБиртх: = Дани између (дтНов, дтБиртх); СховМессаге ('Жарко Гајић' постоји '' + ИнтТоСтр (ДаисФромБиртх) + 'цели дани!');

ДатеОф функција

Враћа само део Датум вредности ТДатеТиме, постављањем Времена на 0.

Изјава:
функција
ДатеОф (Датум: ТДатеТиме): ТДатеТиме

Опис:
Враћа само део Датум вредности ТДатеТиме, постављањем Времена на 0.

ДатеОф поставља временски део на 0, што значи поноћ.

Пример:

вар ТхисМомент, ТхисДаи: ТДатеТиме; ТхисМомент: = Сада; // -> 06/27/2003 10:29:16:138. ТхисДаи: = ДатеОф (ТхисМомент); // Овај дан: = 27.06.2003 00: 00: 00: 000

ДецодеДате функција

Одваја вредности за годину, месец и дан од вредности ТДатеТиме.

Изјава:
процедура
ДецодеДате (Датум: ТДатеТиме; вар Година, месец, дан: реч) ;;

Опис:
Одваја вредности за годину, месец и дан од вредности ТДатеТиме.

Ако је дана вредност ТДатеТиме мања или једнака нули, параметри године, месеца и дана враћају се на нулу.

Пример:

вар И, М, Д: Реч; ДецодеДате (Датум, И, М, Д); ако је И = 2000 тада. СховМессаге ('Налазите се у' погрешном 'веку!);

ЕнцодеДате функција
Ствара вредност ТДатеТиме из година, месеца и дана.

Изјава:
функција
ЕнцодеДате (година, месец, дан: реч): ТДатеТиме

Опис:
Ствара вредност ТДатеТиме из година, месеца и дана.

Година мора бити између 1 и 9999. Вредне вредности месеца су од 1 до 12. Вредне дневне вредности су 1 до 28, 29, 30 или 31, зависно од вредности месеца.
Ако функција не успе, ЕнцодеДате подиже изузетак ЕЦонвертЕррор.

Пример:

вар И, М, Д: Реч; дт: ТДатеТиме; и: = 2001; М: = 2; Д: = 18; дт: = ЕнцодеДате (И, М, Д); СховМессаге ('Борна ће бити. једногодишњи на '+ ДатеТоСтр (дт))

ФорматДатеТиме функција
Форматира вредност ТДатеТиме у низ.

Изјава:
функција
ФорматДатеТиме (цонст Фмт: стринг; Вредност: ТДатеТиме): низ;

Опис:
Форматира вредност ТДатеТиме у низ.

ФорматДатеТиме користи формат који је специфициран параметром Фмт. Погледајте подржане спецификације формата погледајте датотеке Делпхи Хелп.

Пример:

вар с: стринг; д: ТДатеТиме;... д: = Сада; // данас + тренутно време. с: = ФорматДатеТиме ('дддд', д); // с: = среда. с: = ФорматДатеТиме ("" Данас је "дддд" минут "нн", д) // с: = Данас је среда, 24. минут

ИнцДаи функција

Додаје или супстрати одређени број дана од вредности датума.

Изјава:
функција
ИнцДаи (АДате: ТДатеТиме; Дани: Интегер = 1): ТДатеТиме;

Опис:
Додаје или супстрати одређени број дана од вредности датума.

Ако је параметар Дани негативан, враћени датум је

Пример:

вар Датум: ТДатеТиме; ЕнцодеДате (Датум, 2003, 1, 29) // 29. јануара 2003. ИнцДаи (Датум, -1) // 28. јануара 2003. године

Сада функционишите

Враћа тренутни датум и време система.

Изјава:
тип
ТДатеТиме = тип Доубле;

функција Сада: ТДатеТиме;

Опис:
Враћа тренутни датум и време система.

Саставни део вредности ТДатеТиме је број дана који су прошли од 30.12.1899. Фракциони део вредности ТДатеТиме је део 24 часа који је протекао.

Да бисте пронашли фракцијски број дана између два датума, једноставно одузмите две вредности. Исто тако, да бисте увећали вредност датума и времена за одређени фракцијски број дана, једноставно додајте број фракције вредности датуму и времену.

Пример: СховМессаге ('Сада је' + ДатеТимеТоСтр (Сада));

Године између функције

Даје број целих година између два наведена датума.

Изјава:
функција
ИеарсБет Бетвеен (цонст СомеДате, АнотхерДате: ТДатеТиме): Интегер;

Опис:
Даје број целих година између два наведена датума.

ИеарсБет Бетвеен враћа апроксимацију на основу претпоставке од 365,25 дана годишње.

Пример:

вар дтСоме, дтДруго: ТДатеТиме; ДаисФромБиртх: цео број; дтСоме: = ЕнцодеДате (2003, 1, 1); дтАгетхер: = ЕнцодеДате (2003, 12, 31); ИеарсБет Бетвеен (дтСоме, дтАгетхер) == 1 // неискочна година. дтСоме: = ЕнцодеДате (2000, 1, 1); дтАгетхер: = ЕнцодеДате (2000, 12, 31); ИеарсБет Бетвеен (дтСоме, дтАгетхер) == 0 // прелазна година
instagram story viewer