Time — Функция Delphi

Обработка календарных дат и времени в приложениях. Изучение и применение встроенных функций и процедур и компонентов Delphi для ввода, отображения и вычисления времени и даты

Страницы работы

Фрагмент текста работы

ЛАБОРАТОРНАЯ РАБОТА ПММ-Delphi-05

ОБРАБОТКА КАЛЕНДАРНЫХ ДАТ И ВРЕМЕНИ В ПРИЛОЖЕНИЯХ

Цель работы: изучение и применение встроенных функций и процедур и компонентов Delphi для ввода, отображения и вычисления времени и даты

1. Компоненты ввода даты и времени

В Delphi имеются компоненты, позволяющие вводить, отображать и редактировать числа, даты и время. Их применение более удобно, чем использование компонентов Label и Edit.

(окно ввода дат и времени)

Ввод даты (с выпадающим календарем выбранного месяца) или ввод времени.

Основные свойства — Date и Time.

Ввод дат с выбором из календаря выбранного месяца. Аналогичен

DateTimePicker, но календарь полностью виден на форме

Отображение календаря на указанный месяц. Основные свойства — Month и Day.

Из этих компонентов наиболее удобным является DateTimePicker. Этот компонент может использоваться и для ввода даты (свойство Kind имеет значение dtkDate) и для ввода времени (свойство Kind имеет значение dtkTime). На форме компонент занимает немного места, так как реализует режим появления выпадающего календаря. Это обеспечивает также безошибочный с точки зрения синтаксиса ввод дат и времени.

При вводе дат можно задать свойство DateMode равным dmComboBox — наличие выпадающего календаря, или равным dmUpDown — наличие кнопок увеличения и уменьшения. В последнем случае пользователь может независимо устанавливать с помощью кнопок число, месяц и год. Формат представления дат определяется свойством DateFormat, которое может принимать значения dfShort — краткий формат (например, 01.12.2008), или dfLong — полный формат (например, 1 декабря 2008 г.).

Свойство DateTimePicker.Date можно использовать в программе, причем для преобразования значения свойства в строку можно воспользоваться функцией DateToStr.

Можно задать значения свойств MaxDate и MinDate, определяющих соответственно максимальную и минимальную дату, которую может выбрать пользователь.

В режиме ввода времени dtkTime введенное пользователем значение можно найти в свойстве DateTimePicker.Time, тип которого — тот же рассмотренный выше TDateTime. Преобразовать время в строку можно функцией TimeToStr.

Упражнение 1. Выбор дня текущего месяца с помощью компонента

Дополните проект компонентами DateTimePicker1 и Label3

Свойство Label3.Caption задайте как «Выбрана дата: »

Компонент Label3 будем использовать для отображения даты, выбранной при работе программы с помощью компонента DateTimePicker1. Факту выбора даты соответствует событие OnChange этого компонента. Перейдите к процедуре, обрабатывающей это событие и наберите команду

Procedure TForm1.DateTimePicker1Change(Sender: TObject); begin

‘Выбрана дата: ‘+DateToStr(DateTimePicker1.Date); end;

Проверьте работу программы.

Выберите в инспекторе объектов другие значения свойств DateFormat и DateMode. Как они влияют на вид даты в окне компонента и его работу при запуске программы?

Упражнение 2. Ввод произвольной даты с помощью DateTimePicker и отображение с помощью календаря.

Дополните проект компонентом Calendar (палитра Samples). Выровняйте границы компонента на форме. Календарь показывает дни определенного месяца, если не дополнительных указаний, то это – текущий месяц.

Свойства календаря Day, Month, Year позволяют настроить его содержимое на нужную дату. Для проверки работы этого компонента добавьте в обработчик компонента DateTimePicker1 команды, которые изменяют параметры календаря в соответствии с выбранной датой. При этом отдельно устанавливаются численные значения года, месяца и дня. Для получения этих значений используется процедура DecodeDate. Удобно получаемую от DateTimePicker1 дату сохранить в отдельной переменной типа tDateTime, а значения года, месяца и дня сохранить в переменных целого типа. Тогда процедура – обработчик примет вид

Procedure TForm1.DateTimePicker1Change(Sender: TObject); var

Dt:tDateTime; Y,M,D: Word; begin

Label4.Caption:=’Выбрана дата: ‘+DateToStr(Dt);

Calendar1.Month:=M; Calendar1.Day:=D; end;

2. Ввод текстовой и числовой информации. Компонент ComboBox

Компонент ComboBox позволяет выбрать нужный элемент (строку или число) из списка доступных элементов. Список отображается как в развернутом виде, так и в виде выпадающего

Справочник по компонентам Delphi. Часть 1
Страница 11. Функции работы с датами и временем

Функции работы с датами и временем

В Delphi для хранения дать! и (или) времени предусмотрен формат TDateTime, представляющий собой, на самом деле, обычное число с плавающей точкой.

При этом дата представляется целой частью числа, а время — дробной. Преимущество этого подхода в том, что теперь дать! и времена можно кор­ректно складывать и вычитать, например:

procedure TFormI.PormCreate(Sender: TObject);

Функции этой группы приведены в таблице:

function EncodeDate(Year, Month, Day: Word): TDateTime;

Преобразует дату, заданную раздельно годом, месяцем и днем, в формат TDateTime. Если они выходят за допустимые пределы, возникает ИС EConvertError.

procedure DecodeDatefDate: TDateTime; var Year, Month, Day: Word);

Преобразует дату в виде TDateTime к раздельным составляющим: году, месяцу и дню.

function EncodeTimefHour, Min, Sec, MSec: Word):

Преобразует значение времени, заданное часом, минутой, секундой и миллисекундой в формат TDateTime.

procedure DecodeTime(Time: TDateTime; var Hour, Min, Sec, MSec: Word) ;

Преобразует значение времени в формате TDateTime в раздельные составляющие: час, минуту, секунду и миллисекунду.

function DayOfWeektDate: TDateTime): Integer;

Возвращает номер текущего дня недели от 1 (воскресенье) до 7 (суббота).

Возвращает текущую дату.

Возвращает текущее время.

Возвращает текущие дату и время.

function DateToStr(Date: TDateTime): string;

Преобразует дату Date в текстовую строку.

function TimeToStr(Time: TDateTime): string;

Преобразует время из типа TDateTime в текстовую строку.

function DateTimeToStr(DateTime: TDateTime): string;

Преобразует дату и время из типа TDateTime в текстовую строку.

function StrToDatefconst S: string): TDateTime;

Преобразует текстовую строку в дату типа TDateTime. Строка должна содержать два или три числа, разделенных символом, содержащимся в DateSeparator. Формат даты в строке определяется в соответствии со значением переменной ShortDateFormat.

function StrToTime(const S: string): TDateTime;

Преобразует текстовую строку S в значение времени. Должен использоваться формат HH:NN:SS, где SS — может принимать значения ‘AM’ или ТМ’, иначе означает секунды. Если необходимо получать время в 24-х часовой шкале, то элемент SS формата опус­кается. Если преобразование невозможно, возникает ИС EConvertError.

StrToDateTime(const S: string): TDateTime;

Преобразует текстовую строку S в дату и время в формате MM/DD/YY HH:NN:SS (элемент SS см. выше).

function FormatDateTime(const Format: string; DateTime: TdateTime): string;

Преобразует дату и время из типа TDateTime в тек­стовую строку, используя формат, задаваемый параметром Format (см. примеч. 1).

procedure DateTimeToStringfvar Result: string; const Format: string; DateTime: TDateTime);

Преобразует дату и время типа TDateTime в строку Result, используя формат, передаваемый параметром Format (см. примеч. 1).

1. Правила задания спецификатора формата для даты и времени отлича­ются от рассмотренных выше. В первую очередь надо иметь в виду то, что функции вроде FormatDateTime оперируют над одним значением TDateTime, а спецификаторы формата извлекают из него те или иные составные части. При этом могут использоваться:

Отображает дату, используя формат ShortDateFormat, затем отобра­жается время в формате LongTimeFormat. Время не отображается, если дробная часть переменной DateTime нулевая.

Отображает число месяца без нуля в левом разряде (1-31).

Отображает число месяца с нулем в левом разряде (01-31).

Отображает день недели в соответствии с сокращенными именами из переменной ShortDayNames.

Отображает день недели в соответствии с полными именами из переменной LongDayNames.

Отображает дату в соответствии с форматом ShortDateFormat.

Отображает дату в соответствии с форматом LongDateFormat.

Отображает месяц как число без нуля в левом разряде (1-12).

Отображает месяц как число с нулем в левом разряде (01-12).

Отображает месяц в соответствии с сокращенными именами из переменной ShortMonthNames.

Отображает месяц в соответствии с полными именами из переменной Long MonthN am es.

Отображает год двумя цифрами.

Отображает год четырьмя цифрами.

Отображает час как число без нуля в левом разряде (0-23).

Отображает час как число с нулем в левом разряде (00-23).

Отображает минуты как число без нуля в левом разряде (0-59).

Отображает минуты как число с нулем в левом разряде (00-59).

Отображает секунды как число без нуля в левом разряде (0-59).

Отображает секунды как число с нулем в левом разряде (00-59).

Отображает время в соответствии с форматом ShortTimeFormat.

Отображает время в соответствии с форматом LongTimeFormat.

Отображает время в 12-часовой шкале. ‘AM’ означает часы до полудня, ‘РМ’ — часы после полудня.

Отображает время в 12-часовой шкале. При этом для времени до полудня отображается содержимое переменной TimeAMString, а после полудня — TimePMString.

Отображает время в 12-часовой шкале, ‘а’ означает часы до полудня, ‘р’ — часы после полудня.

Отображает символ — разделитель даты, содержащийся в переменной DataSeparator.

Отображает символ — разделитель времени, содержащийся в переменной TimeSeparator.

Символы, заключаемые в простые или двойные кавычки, отображаются как есть и не подвергаются форматированию.

Например, результатом вызова функции с параметрами

FormatDateTime (‘ «Совещание состоится в» dddd, dirrmim, yyyy, ‘ + ‘ «в» hh:nn’, StrToDateTime(’12/31/95 23:55′)) ;

будет строка ‘Совещание состоится в среду, 31 декабря 1995 в 23:55’ (естес­твенно, если вы переопределили значения элементов массива LongMonth-Names).

3. Спецификаторы могут быть указаны как в верхнем, так и в нижнем регистрах символов — это не играет роли.

Илон Маск рекомендует:  Видео обзоры поплулярных seo-сервисов

Time — Функция Delphi

procedure TForm1.Button1Click(Sender: TObject);
begin
t1:=now;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
diff:=now-t1;
edit1.text:=TimeTostr(diff);
end;
в результате в поле edit1 отображается время прошедшее между последовательными нажатиями button1 и button2 в следующем формате hh:mm:ss Пойдет?

если вместо TimeTostr(diff) использовать FormatFloat(‘0.00’,diff*24*60*60);
то промежуток времени будет выражен в секундах с сотыми долями. sysutils коорый используется функией now ввключается в uses лист форм по умолчанию.

Time — Функция Delphi

уЕТЧЕТ РПДДЕТЦЙЧБЕФУС
ЛБЖЕДТПК ЙОЖПТНБФЙЛЙ Й ЧЩЮЙУМЙФЕМШОПК ФЕИОЙЛЙ зТзх
ФЕМ. +375-(0)152-445-101
E-mail : kadan@grsu.grodno.by

уРТБЧПЮОЙЛ РП ЖХОЛГЙСН Delphi. тБВПФБ У ДБФБНЙ Й ЧТЕНЕОЕН

ч Delphi ДМС ИТБОЕОЙС ДБФ Щ Й (ЙМЙ) ЧТЕНЕОЙ РТЕДХУНПФТЕО ЖПТНБФ TDateTime, РТЕДУФБЧМСАЭЙК УПВПК, ОБ УБНПН ДЕМЕ, ПВЩЮОПЕ ЮЙУМП У РМБЧБАЭЕК ФПЮЛПК.

рТЙ ЬФПН ДБФБ РТЕДУФБЧМСЕФУС ГЕМПК ЮБУФША ЮЙУМБ, Б ЧТЕНС ? ДТПВОПК. рТЕЙНХЭЕУФЧП ЬФПЗП РПДИПДБ Ч ФПН, ЮФП ФЕРЕТШ ДБФЩ Й ЧТЕНЕОБ НПЦОП ЛПТТЕЛФОП УЛМБДЩЧБФШ Й ЧЩЮЙФБФШ, ОБРТЙНЕТ:

Date and Time Support

This topic lists all types, routines, and variables that add Date and Time support.

Contents

Date and Time Data Types

The following table lists the data types used to store date and time:

Returns the current year.

Returns the current date.

Returns the day of the week for a specified date.

Returns the current time.

Returns the current date and time.

Returns the current time.

Returns a TDateTime value that represents the current date.

Returns a TDateTime value that represents the following day.

Returns a TDateTime value that represents the preceding day.

Creating Date and Time values

The following table lists all routines used to create date and time values:

Routine Description

Strips the time portion from a TDateTime value.

Returns the day of the month represented by a TDateTime value.

Returns the day of the month represented by a TDateTime value.

Returns the day of the week represented by a TDateTimevalue.

Returns the number of days between a specified TDateTime value and December 31 of the previous year.

Returns Year, Month, and Day values for a TDateTime value.

Returns the year and day of the year for a specified TDateTime value.

Returns Year, Month, Day, and Day-of-Week values for a TDateTime value.

Returns the year, month, week of the month, and day of the week for a specified TDateTime value.

Returns Year, Month, Day, Hour, Minute, Second, and Millisecond values for a specified TDateTime value.

Returns the year, week of the year, and day of the week for a specified TDateTime value.

For a given TDateTime value, returns the year, month, day of the week, and the count of that day of the week in the month.

Breaks a TDateTime value into hours, minutes, seconds, and milliseconds.

Returns the hour of the day represented by a TDateTime value.

Returns the hour of the day represented by a TDateTime value.

Returns the number of hours between a specified TDateTime value and 12:00 A.M. of the first day of the month.

Returns the number of hours between a specified TDateTime value and 12:00 A.M. of the first day of the week.

Returns the number of hours between a specified TDateTime value and 12:00 A.M. of the first day of the year.

Returns the millisecond of the second represented by a TDateTime value.

Returns the number of milliseconds between a specified TDateTime value and the beginning of the same day.

Returns the number of milliseconds between a specified TDateTime value and the beginning of the same hour.

Returns the number of milliseconds between a specified TDateTime value and the beginning of the same minute.

Returns the number of milliseconds between a specified TDateTime value and the beginning of the month.

Returns the millisecond of the second represented by a TDateTime value.

Returns the number of milliseconds between a specified TDateTime value and 12:00:00:00 A.M. of the first day of the week.

Returns the number of milliseconds between a specified TDateTime value and 12:00:00:00 A.M. of the first day of the year.

Returns the minute of the hour represented by a TDateTime value.

Returns the number of minutes between a specified TDateTime value and 12:00 A.M. of the same day.

Returns the number of minutes between a specified TDateTime value and the beginning of the same hour.

Returns the number of minutes between a specified TDateTime value and 12:00 A.M. of the first day of the month.

Returns the number of minutes between a specified TDateTime value and 12:00 A.M. of the first day of the week.

Returns the number of minutes between a specified TDateTime value and 12:00 A.M. of the first day of the year.

Returns the month of the year represented by a TDateTime value.

Returns the month of the year represented by a TDateTime value.

Returns the weekday of the specified TDateTime value.

Returns the second of the minute represented by a TDateTime value.

Returns the number of seconds between a specified TDateTime value and 12:00:00 A.M. of the same day.

Returns the number of seconds between a specified TDateTime value and the beginning of the same hour.

Returns the number of seconds between a specified TDateTime value and the beginning of the same minute.

Returns the number of seconds between a specified TDateTime value and 12:00:00 A.M. on the first day of the month.

Returns the number of seconds between a specified TDateTime value and 12:00:00 A.M. of the first day of the week.

Returns the number of seconds between a specified STDateTime value and 12:00:00 A.M. on the first day of the year.

Strips the date portion from a TDateTime value.

Returns the week of the year represented by a TDateTime value.

Returns the week of the month represented by a TDateTime value.

Returns the week of the year represented by a TDateTime value.

Returns the number of weeks in a specified year.

Returns the number of weeks in the year of a specified TDateTime value.

Returns the year represented by a TDateTime value.

Comparing and Checking Date and Time values

The following table lists all routines used to compare and check date and time values:

Routine Description

Returns the number of days (including fractional days) between two specified TDateTime values.

Returns the number of whole days between two specified TDateTime values.

Returns the number of days in a specified month of a specified year.

Returns the number of days in a specified year.

Returns the number of days in the month of a specified TDateTime value.

Returns the number of days in the year of a specified TDateTime value.

Returns a TDateTime that represents the last millisecond of a specified day.

Returns a TDateTime that represents the last millisecond of the last day of a specified month.

Returns a TDateTime object value that represents the last millisecond of a specified day of a specified week.

Returns a TDateTime that represents the last millisecond of a specified year.

Returns a TDateTime that represents the last millisecond of the day identified by a specified TDateTime.

Returns a TDateTime that represents the last millisecond of the last day of the month identified by a specified TDateTime.

Returns a TDateTime that represents the last millisecond of the last day of the week identified by a specified TDateTime.

Returns a TDateTime that represents the last millisecond of the last day of the year identified by a specified TDateTime.

Returns the number of hours (including fractional hours) between two specified TDateTime values.

Returns the number of whole hours between two specified TDateTime values.

Increments date information by one month.

Returns a date shifted by a specified number of days.

Returns a date/time value shifted by a specified number of hours.

Returns a date/time value shifted by a specified number of milliseconds.

Returns a date/time value shifted by a specified number of minutes.

Returns a date shifted by a specified number of months.

Returns a date/time value shifted by a specified number of seconds.

Returns a date shifted by a specified number of weeks.

Returns a date shifted by a specified number of years.

Returns the number of milliseconds between two specified TDateTime values.

Returns the number of milliseconds between two specified TDateTime values.

Returns the number of minutes, including fractions thereof, between two specified TDateTime values.

Returns the number of minutes between two specified TDateTime values.

Returns the approximate number of months, including fractions, between two specified TDateTime values.

Returns the approximate number of months between two specified TDateTime values.

Replaces the date portion of a specified TDateTimee value.

Selectively replaces parts of a specified TDateTimevalue.

Replaces the day of the month for a specified TDateTime value.

Replaces the hour of the day for a specified TDateTime value.

Replaces the millisecond of the second for a specified TDateTime value.

Replaces the minute of the hour for a specified TDateTime value.

Replaces the month of the year for a specified TDateTime value.

Replaces the second of the minute for a specified TDateTime value.

Replaces the time portion of a specified TDateTime value.

Replaces the year for a specified TDateTime value.

Returns the number of seconds (including fractions thereof) between two specified TDateTime values.

Returns the number of seconds between two specified TDateTime values.

Returns a TDateTime that represents 12:00:00:00 A.M. on a specified day.

Returns a TDateTime that represents 12:00:00:00 A.M. on the first day of a specified month.

Returns a TDateTime that represents the first moment on a specified day of a specified week.

Returns a TDateTime that represents the first moment on the first day of a specified year.

Returns a TDateTime that represents 12:00:00:00 A.M. on the day identified by a specified TDateTime.

Returns a TDateTime that represents 12:00:00:00 A.M. on the first day of the month identified by a specified TDateTime.

Returns a TDateTime that represents 12:00:00:00 A.M. on the first day of the week identified by a specified TDateTime.

Returns a TDateTime that represents 12:00:00:00 A.M. on the first day of the year identified by a specified TDateTime.

Returns the number of weeks (including fractional weeks) between two specified TDateTime values.

Returns the number of whole weeks between two specified TDateTime values.

Returns the approximate number of years (including fractions thereof) between two specified TDateTime values.

Returns the approximate number of years between two specified TDateTime values.

Converting Date and Time values

The following table lists all routines used to convert to or from date and time values:

Routine Description
СВОЙСТВО НАЗНАЧЕНИЕ
Enabled «Включение-выключение» таймера
Interval Интервал срабатывания (в миллисекундах)
Name Имя компонента в программе
Tag Произвольный числовой параметр

Помещаем компонент Delphi Timer на Форму. Задаём в свойстве Interval нужный интервал времени (измеряется в миллисекундах). Переходим на вкладку Events и видим единственное событие, поддерживаемое компонентом Delphi Timer: OnTimer. Выполнив по нему двойной щелчёк, или также двойной щелчёк по самому компоненту, мы попадём в сформированный средой Delphi обработчик события, где и введём код, предусматривающий выполнение тех или иных действий.

Так как по умолчанию сойство Enabled установлено в True, то в программе через установленный в свойстве Interval промежуток времени таймер сработает, то есть выдаст событие OnTimer. Будут выполнены необходимые действия. Иногда же запланированные действия должны произойти не автоматически при старте программы, а при выполнении каких-либо других действий. В этом случае необходимо свойство Enabled в Инспекторе Объектов установить в False. Затем в необходимый момент нужно выполнить команду:

Учтите, что пока Timer1.Enabled равно True, компонент продолжит генерировать событие OnTimer по истечении каждого промежутка времени, равного значению свойcтва Interval. Поэтому, если нужно только единичное срабатывание, то таймер нужно остановить, причём сразу же:

Если же запрограммировать «выключение» таймера после выполнения предусмотренных в программе действий, то при достаточно малом по сравнению с продолжительностью необходимых действий значении свойства Interval таймер вновь сработает, и это может помешать ходу программы.

Компонент Delphi Timer не является очень точным и не подходит для измерения малых промежутков времени. Его точность порядка 50 миллисекунд. В качестве примера приведу простую программу, отображающую текущее время.

На форме будут только компонент Label и собственно наш компонент Delphi Timer. Свойство Timer можно оставить равным 1000, но раньше на более медленных компьютерах приходилось отображать время несколько раз в секунду, так как из-за влияния других выполняемых компьютером процессов выводимые раз в секунду показания «плавали», что было хорошо заметно на глаз. Размер шрифта возьмём побольше — 50, и подберём более гладкий, я взял Bell MT. Растянем на всю Форму: Align=alClient. Ну и, собственно, сам код:

procedure TForm1.Timer1Timer(Sender: TObject);
begin
Label1.Caption:=TimeToStr(Now);
end;

Вот и всё! Delphi Now — это системная функция, возвращающая текущую дату-время в соответствующем формате TDateTime. Если преобразовывать её в строку функцией TimeToStr, то она вернёт текущее время, если DateToStr, то текущую дату. Если мы хотим отображать в нашей программе и дату тоже, достаточно поставить ещё один компонент Label, и функцией DateToStr передавать в него дату. Можете скачать проект.

Time — Функция Delphi

Полную версию библиотеки KOL и MCK можно скачать здесь.

function Now: TDateTime;
Возвращает текущую датау и время на вашем компьютере. TDateTime в KOL ни чем не отличается от VCL аналога. TDateTime представляет из себя число с плавающей запятой (т.е. Double), целая часть которого содержит число дней, отсчитанное от некоторого начала календаря, а дробная часть равна части 24-часового дня, т.е. характеризует время и не относится к дате.

function CompareSystemTime( const D1, D2: TSystemTime ): Integer;
Функция сравнивает 2-е записи типа TSystemTime. На выходе:
-1 если D1 D2.
TSystemTime — структура используемая в Winddows API для хранения данных о датах и времени. IMHO зачастую она даже удобней в использование обычной TDateTime.
Подробней конечно можно посмотреть и в Win32.hlp, но всетаки.
Для получения системного времени : GetSystemTime
Для установки системного времени на вашем компьютере: SetSystemTime

procedure IncDays( var SystemTime: TSystemTime; DaysNum: Integer );
Увеличивает или уменьщает количество дней в записи типа TSystemTime. DaysNum может быть отрицательным.

procedure IncMonths( var SystemTime: TSystemTime; MonthsNum: Integer );
Увеличивает или уменьщает количество дней в записи типа TSystemTime. DaysNum может быть отрицательным. Правильный результат не гарантирован если число дней превышено для нового месяца

function IsLeapYear( Year: Word ): Boolean; .
Возвращает true если указанные год Year является высокосным (то есть имеет 29 дней в Феврале).

function DayOfWeek( Date: TDateTime ): Integer;
Возвращает день недели (от 0 до 6) для текушей даты.

function SystemTime2DateTime( const SystemTime: TSystemTime; var DateTime: TDateTime ): Boolean;
Преобразует дату из типа TSystemTime в TDateTime

function DateTime2SystemTime( const DateTime: TDateTime; var SystemTime: TSystemTime ): Boolean;
Преобразует дату из типа TDateTime в TSystemTime.

function CatholicEaster( nYear: Integer ): TDateTime;
Возвращает дату католического рождества в указаном году

Delphi

Наши проекты

Очень просто. Существует функция Time в модуле SysUtils.

Возвращает функция значение типа TDateTime. А его преобразовать в строку? Так же просто:

Существует и обратная операция:

Аналогичные операции можно проделать и с датой:

Преобразовать в строку:

Так же существует и обратная операция:

Copyright © 2008 — 2020 Программирование на Delphi для начинающих и не только.

Полнота авторских прав на все материалы, опубликованные на сервере DelphiDevelop.ru принадлежит их авторам.

Перепечатка материалов разрешается с указанием авторства и гиперссылки на первоисточник информации.

Time — Функция Delphi

В этом уроке я покажу, как узнавать в Delphi текущее время и дату.

[cc lang=’delphi’]var
Hour, Min, Sec, MSec: Word;[/cc]

В дальнейшем мы будем использовать эти переменные для хранения текущего времени, а именно: часов, минут, секунд и миллисекунд соответственно.

[cc lang=’delphi’]var
D, M, Y: String;[/cc]

А эти переменные будут хранить текущий день, месяц и год.

Теперь запишем текущие дату и время в эти переменные:

DecodeTime(Time, Hour, Min, Sec, MSec); //получаем время

D:=FormatDateTime(‘dd’,Date); // получаем дату
M:=FormatDateTime(‘mm’,Date);
Y:=FormatDateTime(‘yy’,Date);

[/cc]
В этом примере мы использовали константы Date и Time, которые всегда в себе хранят время и дату. Константа Date принадлежит типу TDate, а Time принадлежит типу TTime.

Например, после приведенного выше кода, мы можем вывести на экран текущий год:

А вывести текущий час, можно так:

Конечно же, мы можем объявлять свои переменные типов TDate, TTime, а также TDateTime, который хранит в себе и время и дату (существует константа Now, аналогичная Date и Time, но типа TDateTime). Далее я привожу полезные функции и процедуры, для работы с этими переменными:

DateTimeToString(Result, Format, DateTime) — Эта процедура позволяет формировать строковое представление параметра DateTime с учетом формата, заданного строкой Format, и помещает результат в строку Result.

DateTimeToStr(DateTime) — строковое (String) представление даты и времени. Эта функция формирует для параметра DateTime строковое представление даты и времени с учетом региональной установки Windows, возвращая полученную строку.

DateToStr(Date) — символьное представление даты. Функция формирует для параметра Date типа TDateTime или TDate символьное представление даты с учетом региональной установки Windows и возвращает полученную строку в качестве результата своей работы.

TimeToStr(Time) — символьное представление времени. Функция формирует для параметра Time типа TDateTime или TTime символьное представление времени с учетом региональной установки Windows и возвращает полученную строку в качестве результата своей работы.

DecodeTime(Date, Hour, Min, Sec, MSec) — выделение во времени часа, минуты, секунды и числа миллисекунд. Процедура выделяет из параметра Date типа TDateTime или TTime час, минуту, секунду и число миллисекунд и помещает их соответственно в параметры Hour, Min, Sec и MSec типа Word.

DayOfWeek(Date) — день недели. Функция возвращает день недели заданной даты Date типа TDateTime или TDate в виде числа от 1 до 7, причем нумерация начинается с воскресенья.

DecodeDate(Date, Year, Month, Day) — выделение в дате года, месяца, дня. Процедура выделяет из параметра Date типа TDateTime или TDate год, месяц, день и помещает их соответственно в параметры Year, Month и Day типа Word.

EncodeDate(Year, Month, Day) — формирование даты из компонентов даты. Функция формирует из заданного года, месяца и дня (заданных в параметрах Year, Month, Day) комплексный параметр типа TDateTime и возвращает его как результат работы.

EncodeTime(Hour, Min, Sec, MSec) — формирование времени из компонентов времени. Функция формирует из заданных часа, минуты, секунды и числа миллисекунд (заданных в параметрах Hour, Min, Sec, MSec) комплексный параметр типа TDateTime и возвращает его как результат работы.

FormatDateTime(Format, DateTime) — форматированное символьное представление даты и времени. Функция формирует символьное представление параметра DateTime типа TDateTime с учетом формата, заданного строкой Format, и возвращает полученную строку как результат своей работы.

StrToDate(S) — преобразование символьного представления даты в тип TDateTime. Функция преобразовывает символьное представление даты, находящееся в строке S, в формат TDateTime или TDate и возвращает полученную величину как результат своей работы. Дата должна быть задана в соответствии с региональной установкой Windows.

StrToTime(S) — преобразование символьного представления времени в тип TDateTime. Функция преобразовывает символьное представление времени, находящееся в строке S, в формат TDateTime или TTime и возвращает полученную величину как результат своей работы. Время должно быть задано в соответствии с региональной установкой Windows.

StrToDateTime(S) — преобразование символьного представления даты и времени в тип TDateTime. Функция преобразовывает символьное представление даты и времени, находящееся в строке S, в формат TDateTime и возвращает полученную величину как результат своей работы. Дата и время должны быть заданы в соответствии с региональной установкой Windows.

Илон Маск рекомендует:  Проблемы тестирования оперативной памяти
Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL