Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
6
Добавлен:
26.04.2015
Размер:
55.81 Кб
Скачать

Тема: “Дата – Время”

Тип TdateTime представляет собой вещественное число. Целая часть определяет дату ( 0 соответствует дата 30/12/1899 ) , дробная часть определяет время.

Тип TDate определяет только дату, а тип TTime только время. Эти три типа являются совместимыми и могут использоваться в любом сочетании в операторе присваивания.

Для ввода значений типа TDateTime используется функция StrToDateTime (String )

Пример

DT:= StrToDateTime(‘01/09/2006 09:10:30’)

Замечание: между датой и временем ставится пробел. Формат даты и времени определяется настройками Windows. Так для Русского могут использоваться следующие форматы дд/мм/гггг ( или дд.мм.гггг или дд-мм-гггг), чч:мм:сс.

Для обратного преобразования используется функция function DateTimeToStr (DateTime :TDateTime).

Пример

Edit1.Text:= DateTimeToStr(DT’)

Вышеуказанные функции используются редко, как правило используется раздельный ввод ( вывод ) даты и времени.

Для ввода даты используется функция StrToDate (S:String )

Пример

DD:= StrToDateTime(’01.09.2006’)

Для ввода времени используется функция StrToTime (S:String )

Пример

TT:= StrToTime(’10:30:00’)

Для вывода даты используется функция DateToStr (DateTime :TDateTime)

Пример

Edit1.Text:= DateToStr(DD’)

Для вывода времени используется функция TimeToStr (DateTime :TDateTime)

Пример

Edit1.Text:=TimeToStr(TT’)

Для вывода даты времени по определенному шаблону используют функцию FormatDateTime(S:String, D:TDataTime)

Пример

Edit1.Text:=FormatDateTime('mmmm', D); // вывод месяца по формату 'mmmm'

Edit1.Text:=FormatDateTime('dddd',D); // вывод дня по формату 'dddd'

Варианты шаблонов

‘d’ – отображает число месяца без нуля ( 25)

‘dd’ – отображает число месяца с нулём ( 25)

‘ddd’ – отображает день недели в сокращенном формате ( Bc)

‘dddd’ – отображает день недели в полном формате ( Bоcкресенье)

‘m’ – отображает месяц без нуля ( 5)

‘mm’ – отображает месяц с нулём ( 05)

‘mmm’ – отображает месяц в сокращенном формате ( Сен)

‘mmmm’ – отображает месяц в полном формате ( Сентябрь)

‘yy’ – отображает год двумя цифрами ( 06)

‘yyyy’ – отображает год четырьмя цифрами ( 2006)

‘h’ – отображает час без нуля ( 8)

‘hh’ – отображает час с нулём ( 08)

‘n’ – отображает минуты без нуля ( 25)

‘nn’ – отображает минуты с нулём ( 05)

‘s’ – отображает секунды без нуля ( 25)

‘ss’ – отображает секунды с нулём ( 05)

‘t’ – отображает время в сокращенном формате ( 1:30)

‘tt’ – отображает время в полном формате ( 1:30:25)

‘ddddd’ – отображает дату в сокращенном формате ( 03.09.2006)

‘dddddd’ – отображает время в полном формате ( 3 Сентябрь 2006 г.)

Для задания текущей даты и времени используются функции:

  1. function Now:TDateTime – возвращает текущую дату и время

  2. function Date:TDateTime – возвращает текущую дату

  3. function Time:TDateTime – возвращает текущее время

Пример

Edit1.Text:=TimeToStr(Time) // текущее время

Edit1.Text:=DateToStr(Date) // текущая дата

Edit1.Text:=DateToStr(Date-1) // дата вчерашнего дня

С данными формата TDateTime, TDate можно использовать операцию + ( добавление числа дней ) и – (уменьшение даты на число дней)

Пример

Edit1.Text:=DateToStr(Date+2) // дата послезавтрашнего дня

С данными формата TDateTime, TTime можно использовать операцию + ( добавление числа секунд ) и – (уменьшение времени на число секунд)

Пример

Edit1.Text:=TimeToStr(Time+0.00001) // время на секунду больше текущего

Edit1.Text:=TimeToStr(Time-0.00001*60) // время на минуту меньше текущего

Для выделения из формата TdateTime (TDate) года, месяца, дня используется процедура

procedure DecodeDate( Date: TdateTime; var Year, Month, Day :Word)

Пример

DecodeDate(DT, YY, MM, DD) // где DT – переменная типа TdateTime,

YY- принимает значение года

MM- принимает значение месяца

DD- принимает значение дня

DecodeDate(Data,YY,MM,DD) // выделяет текущий год, месяц, день

Обратное преобразование осуществляется функцией EncodeDate ( Year, Month, Day :Word): TDateTime, которая по году, месяцу, дню определяет значение переменной типа TdateTime (TDate)

Пример

DT:= EncodeDate (2005,4,12)

Для определения дня недели (1- воскресение , 7 суббота ) используется функция

Day Of Week (Date: TdateTime ):Integer

Пример

K:= Day Of Week (Date) ; // определяет номер дня неделя текущей даты

Для выделения из формата TdateTime (TDate) часов, минут, секунд, миллисекунд. используется процедура

procedure DecodeTime ( Date: TdateTime; var Hour, Min, Sec, Msec :Word)

Пример

DecodeTime(TT, HH, MM, SS , MS) // где TT – переменная типа TdateTime (Ttime)

HH- принимает значение часа

MM- принимает значение минут

SS- принимает значение секунд

MS- принимает значение миллисекунд

Обратное преобразование осуществляется функцией EncodeTime ( Hour, Min, Sec, Msec :Word ): TDateTime которая по часу, минутам, секундам , миллисекундам определяет значение переменной типа TdateTime (TTime)

Пример

TT:= EncodeTime (20,10,30,100)

Компонент Timer (System ) включает событие OnTimer через интервал времени, который определяется свойством Interval (интервал задается в миллисекундах ). Timer включается ( выключается ) по свойству Enabled.

procedure TForm1.Button10Click(Sender: TObject);

begin

Timer1.Interval:=1000;// Установка такта (тика) в милисекундах

Timer1.Enabled:=True; // Включение таймера

end;

procedure TForm1.Timer1Timer(Sender: TObject);

begin

T1:=T1+1;//Изменение числа тиков ( секунд )

end;

Компонент MonthCalendar (Win32) используется для ввода и вывода даты. Основное свойство Date.

Пример

procedure TForm2.MonthCalendar1Click(Sender: TObject);

begin

D:=MonthCalendar1.Date; // Ввод даты из календаря

end;

Пример

procedure TForm2.Button1Click(Sender: TObject);

begin

MonthCalendar1.Date:=DD; // Вывод даты в календарь

end;

Соседние файлы в папке Методический материал