Програмиране на Delphi: Рутина за дата / време

click fraud protection

Сравнява две стойности на TDateTime (връща "по-малко", "равно" или "по-голямо"). Игнорира частта от времето, ако и двете стойности „паднат“ в един и същи ден.

Функция CompareDateTime

Сравнява две стойности на TDateTime (връща "по-малко", "равно" или "по-голямо").

Декларация:
тип TValueRelationship = -1..1
функция CompareDateTime (конст ADate, BDate: TDateTime): TValueRelationship

Описание:
Сравнява две стойности на TDateTime (връща "по-малко", "равно" или "по-голямо").

TValueRelationship представлява връзката между две стойности. Всяка от три стойности на TValueRelationship има символна константа „харесвана“:
-1 [LessThanValue] Първата стойност е по-малка от втората.
0 [EqualsValue] Двете стойности са равни.
1 [GreaterThanValue] Първата стойност е по-голяма от втората.
Сравняване на резултатите в:

LessThanValue, ако ADate е по-рано от BDate.
EqualsValue, ако частите за дата и час на ADate и BDate са еднакви
GreaterThanValue, ако ADate е по-късно от BDate.

Пример:

var ThisMoment, FutureMoment: TDateTime; ThisMoment: = Сега; FutureMoment: = IncDay (ThisMoment, 6); // добавя 6 дни. // СравниDateTime (ThisMoment, FutureMoment) връща LessThanValue (-1) // СравниDateTime (FutureMoment, ThisMoment) връща GreaterThanValue (1)
instagram viewer

Функция CompareTime

Сравнява две стойности на TDateTime (връща "по-малко", "равно" или "по-голямо"). Игнорира частта Дата, ако и двете стойности се появят едновременно.

Декларация:
тип TValueRelationship = -1..1
функция CompareDate (конст ADate, BDate: TDateTime): TValueRelationship

Описание:
Сравнява две стойности на TDateTime (връща "по-малко", "равно" или "по-голямо"). Игнорира частта от времето, ако и двете стойности се появяват едновременно.

TValueRelationship представлява връзката между две стойности. Всяка от три стойности на TValueRelationship има символна константа „харесвана“:
-1 [LessThanValue] Първата стойност е по-малка от втората.
0 [EqualsValue] Двете стойности са равни.
1 [GreaterThanValue] Първата стойност е по-голяма от втората.
Сравняване на резултатите в:

LessThanValue, ако ADate се появи по-рано през деня, определен от BDate.
EqualsValue, ако частите от време на ADate и BDate са еднакви, игнорирайки частта Date.
GreaterThanValue, ако ADate се появи по-късно през деня, определен от BDate.

Пример:

var ThisMoment, AnotherMoment: TDateTime; ThisMoment: = Сега; AnotherMoment: = IncHour (ThisMoment, 6); // добавя 6 часа // СравниDate (ThisMoment, AnotherMoment) връща LessThanValue (-1) // CompareDate (AnotherMoment, ThisMoment) връща GreaterThanValue (1

Функция за дата

Връща текущата системна дата.

Декларация:
Тип TDateTime = Тип Удвоете;

функция дата: TDateTime;

Описание:
Връща текущата системна дата.

Неразделната част от стойността на TDateTime е броят на дните, изминали от 30.12.1899 г. Дробната част на стойността на TDateTime е част от изтеклия 24-дневен ден.

За да намерите дробния брой дни между две дати, просто извадете двете стойности. По същия начин, за да увеличите стойността на датата и часа с определен дробен брой дни, просто добавете дробното число към стойността на датата и часа.

Пример: ShowMessage ('Днес е' + DateToStr (Дата));

Функция DateTimeToStr

Преобразува стойността на TDateTime в низ (дата и час).

Декларация:
Тип
TDateTime = Тип Удвоете;

функция DayOfWeek (Дата: TDateTime): цяло число;

Описание:
Връща ден от седмицата за дадена дата.

DayOfWeek връща цяло число между 1 и 7, където неделя е първият ден от седмицата, а събота е седми.
DayOfTheWeek не е съвместим със стандарта ISO 8601.

Пример:

const Дни: масив [1..7] от string = ('Неделя Понеделник Вторник Сряда Четвъртък Петък Събота') ShowMessage („Днес е“ + дни [DayOfWeek (дата)]); //Днес е понеделник

Дни между функцията

Дава броя цели дни между две посочени дати.

Декларация:
функция
DaysBet Between (const ANow, AThen: TDateTime): Целочислено;

Описание:
Дава броя цели дни между две посочени дати.

Функцията отчита само цели дни. Това означава, че тя ще върне 0 като резултат за разлика между 01.05.2003 23:59:59 и 01.05.2003 23:59:58 - където действителната разлика е един * цял * ден минус 1 секунда ,

Пример:

var dtNow, dtBirth: TDateTime; DaysFromBirth: цяло число; dtNow: = Сега; dtBirth: = EncodeDate (1973, 1, 29); DaysFromBirth: = DaysBet between (dtNow, dtBirth); ShowMessage („Зарко Гаич“ съществува “„ + IntToStr (DaysFromBirth) + 'цели дни!');

Функция DateOf

Връща само частта Дата от стойността на TDateTime, като зададе Часова част на 0.

Декларация:
функция
DateOf (Дата: TDateTime): TDateTime

Описание:
Връща само частта Дата от стойността на TDateTime, като зададе Часова част на 0.

DateOf задава часовата част на 0, което означава полунощ.

Пример:

var ThisMoment, ThisDay: TDateTime; ThisMoment: = Сега; // -> 06/27/2003 10:29:16:138. ThisDay: = DateOf (ThisMoment); // Този ден: = 06/27/2003 00: 00: 00: 000

Функция DecodeDate

Отделя стойностите за година, месец и ден от стойност на TDateTime.

Декларация:
процедура
DecodeDate (Дата: TDateTime; Var Година, месец, ден: Word) ;;

Описание:
Отделя стойностите за година, месец и ден от стойност на TDateTime.

Ако дадената стойност на TDateTime е по-малка или равна на нула, параметрите за връщане на годината, месеца и деня се задават на нула.

Пример:

var Y, M, D: Word; DecodeDate (Дата, Y, M, D); ако Y = 2000 тогава. ShowMessage („Вие сте в„ грешен “век!);

Функция EncodeDate
Създава стойност на TDateTime от стойности за година, месец и ден.

Декларация:
функция
EncodeDate (година, месец, ден: Word): TDateTime

Описание:
Създава стойност на TDateTime от стойности за година, месец и ден.

Годината трябва да е между 1 и 9999. Стойностите на валидния месец са от 1 до 12. Стойностите на валидния ден са от 1 до 28, 29, 30 или 31, в зависимост от стойността на месеца.
Ако функцията се провали, EncodeDate повдига изключение EConvertError.

Пример:

var Y, M, D: Word; dt: TDateTime; Y: = 2001; М: = 2; D: = 18; dt: = EncodeDate (Y, M, D); ShowMessage („Борна ще бъде. едногодишен на '+ DateToStr (dt))

Функция FormatDateTime
Форматира стойност на TDateTime в низ.

Декларация:
функция
FormatDateTime (конст Fmt: низ; Стойност: TDateTime): низ;

Описание:
Форматира стойност на TDateTime в низ.

FormatDateTime използва формата, определен от параметъра Fmt. За поддържаните спецификатори на формат отидете вижте Помощни файлове на Delphi

Пример:

var s: низ; d: TDateTime;... г: = А; // днес + текущо време. е: = FormatDateTime ( "DDDD ', г); // s: = сряда. s: = FormatDateTime ('"Днес е" dddd "минута" nn ", d) // s: = Днес е сряда 24 минути

IncDay функция

Добавя или субстрати за определен брой дни от стойността на датата.

Декларация:
функция
IncDay (ADate: TDateTime; Дни: цяло число = 1): TDateTime;

Описание:
Добавя или субстрати за определен брой дни от стойността на датата.

Ако параметърът Days е отрицателен, връщаната дата е

Пример:

var Дата: TDateTime; EncodeDate (Дата, 2003, 1, 29) // 29 януари 2003 г. IncDay (дата, -1) // 28 януари 2003 г.

Сега функция

Връща текущата дата и час на системата.

Декларация:
Тип
TDateTime = Тип Удвоете;

функция Сега: TDateTime;

Описание:
Връща текущата дата и час на системата.

Неразделната част от стойността на TDateTime е броят на дните, изминали от 30.12.1899 г. Дробната част на стойността на TDateTime е част от изтеклия 24-дневен ден.

За да намерите дробния брой дни между две дати, просто извадете двете стойности. По същия начин, за да увеличите стойността на датата и часа с определен дробен брой дни, просто добавете дробното число към стойността на датата и часа.

Пример: ShowMessage („Сега е“ + DateTimeToStr (Сега));

Години Между функция

Дава броя цели години между две посочени дати.

Декларация:
функция
YearsBetween (конст SomeDate, AnotherDate: TDateTime): Integer;

Описание:
Дава броя цели години между две посочени дати.

YearsBet Between връща приближение въз основа на предположение от 365.25 дни годишно.

Пример:

var dtSome, dtДруго: TDateTime; DaysFromBirth: цяло число; dtSome: = EncodeDate (2003, 1, 1); dtAgether: = EncodeDate (2003, 12, 31); Годи между (dtSome, dtAgether) == 1 // не-високосна година. dtSome: = EncodeDate (2000, 1, 1); dtAgether: = EncodeDate (2000, 12, 31); Години Между (dtSome, dtAgether) == 0 // високосна година
instagram story viewer