DecodeDateTime — Процедура Delphi

Содержание

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

Function Date: TDateTime;

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

Function DateTimeToStr(DateTime: TDateTime): String;

Преобразовывает параметр типа TDateTime, содержащий дату и время, в строку. Если параметр DateTime не содержит значения даты, дата устанавливается в 00/00/00. Если параметр DateTime не содержит значения времени, время устанавливается в 00:00:00.

Function DateToStr(Date: TDateTime): String;

Преобразовывает параметр типа TDateTime, содержащий дату, в строку.

Преобразование использует формат, определенный глобальной переменной ShortDateFormat.

Function DayOfWeek(Date: TDateTime): Integer;

Возвращает день недели определенной даты как целое число между 1 и 7. Воскресенье — первый день недели, и суббота — седьмой.

Procedure DecodeDate(Date: TDateTime; var Year, Month, Day: Word);

Извлекает дату из формата TDateTime и помещает год, месяц и день соответственно в переменные Year, Month и Day.

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

Извлекает время из формата TDateTime и помещает часы, минуты, секунды, и миллисекунды соответственно в переменные Hour, Min, Sec и MSec.

Function EncodeDate(Year, Moth, Day: Word): TDateTime;

Возвращает дату в формате TDateTime, полученную из значений параметров Year, Month и Day.

Year должен быть между 1 и 9999.

Допустимые значения Month — от 1 до 12.

Допустимые значения Day — от 1 до 28, 29, 30, или 31, в зависимости от значения Month. Например, возможные значения Day в течение второго месяца (февраля) — от 1 до 28, или от 1 до 29, в зависимости от того, определяет или нет значение Year високосный год.

Если значения находятся вне диапазона, возникает исключительная ситуация EConvertError. Возникающее в результате значение — единица плюс число дней между 30/12/1899 и данной датой.

Function EncodeTime(Hour, Min, Sec, MSec: Word): TDateTime;

Возвращает время в формате TDateTime, полученное из значений параметров Hour, Min, Sec и MSec.

Если значение типизированной константы Time24Hour ложно (False), значения Hour лежат в пределах от 0 до 12, если истинно (True) — от 0 до 23.

Допустимые значения Min и Sec — от 0 до 59. Допустимые значения MSec — от 0 до 999.

Если значения находятся вне диапазона, возникает исключительная ситуация EConvertError.

Function Now: TDateTime;

Возвращает текущую дату и время в формате TDateTime (дата + время).

Function StrToDate(const S: String): TDateTime;

Преобразовывает строковое представление даты в формат TDateTime. Дата в параметре S должна быть записана по правилам Windows, т.е. должна состоять из двух или трех чисел, отделяемых символом, опреде-ленным в глобальной переменной DateSeparator. Порядок следования месяца, дня и года определен в глобальной переменной ShortDateFormat. Возможные комбинации — m/d/y, d/m/y, и y/m/d.

Если строка содержит только два числа, это интерпретируется как дата (m/d или d/m) в текущем году. Значения Year между 0 и 99 означают год в текущем столетии.

Если строка содержит дату в неверном формате, возбуждается исключительная ситуация EConvertError.

Function StrToTime(Const S: String): TDateTime;

Преобразовывает строковое представление времени в формат TDateTime.

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

Если строка содержит время в неверном формате, возбуждается исключительная ситуация EConvertError.

Function Time: TDateTime;

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

Function TimeToStr(Time: TDateTime): String;

Преобразовывает время из формата TDateTime в строковое представление.

Преобразование использует формат, определенный в глобальной переменной LongTimeFormat. Вы можете изменять формат отображения времени, изменяя значения переменных даты и времени (или используя Панель управления Windows).

DecodeDateTime

Decode a datetime value in a date and time value

Declaration

Source position: dateutil.inc line 305

Arguments

DateTime to decode

Returns the year part of AValue .

Returns the month part of AValue .

Returns the day part of AValue .

Returns the hour part of AValue .

Returns the minute part of AValue .

Returns the second part of AValue .

Илон Маск рекомендует:  Что такое код asp ftpdirbrowseshowlongdate

Returns the millisecond part of AValue .

Description

DecodeDateTime decomposes the date/time indication in AValue and returns the various components in AYear , AMonth , ADay , AHour , AMinute , ASecond , AMilliSecond

See also

Encodes a DateTime value from all its parts

Encodes a year, month, week of month and day of week to a DateTime value

Encode a TDateTime value from a year, week and day of week triplet

Encodes a year and day of year to a DateTime value

Decode a DateTime value in a week of year and day of week.

Decode a DateTime value in year and year of day.

Decode a DateTime value in a month, week of month and day of week

DecodeDateTime — Процедура Delphi

При задании значения даты-времени следует обратить внимание не только на сами значения, но и на знаки препинания. Несущественные части даты-времеи (например, секунды, минуты, часы) можно справа отбросить. В этом случае считается, что соответствующая часть равна нулю. Если в дате-времени отброшено еще и значение года, считается, что имеется в виду текущий год. Обычно тип дата-время используется в параметрах вариантного типа как один из допустимых вариантов, но может использоваться и самостоятельно для фиксации информации о времени.

Примечание. Следует иметь в виду, что при записи года двумя последними цифрами фактический год зависит от текущего года и глобальной переменной заданной в Delphi — TwoDigitYearCenturyWindow. По умолчанию эта переменная имеет значение, равное 50, что означает, что в конце этого столетия и начале следующего задаваемые двумя цифрами годы будут относиться к XX в., если число несколько больше 50, и к XXI в., если число несколько меньше 50.

В модуле SysUtils определен ряд стандартных функции работы с параметрами типа даты-времени.

  • Time — текущее время. Функция возвращает текущее значение времени в формате TTime.
  • Date — текущая дата. Функция возвращает текущее значение даты в формате TDate.
  • Now — текущая дата и время. Функция возвращает текущее значение даты и времени в формате TDateTime.
  • DateTimeToStr (DateTime) — символьное представление даты и времени. Функция формирует для параметра DateTime типа TDateTime символьное представление даты и времени с учетом региональной установки Windows и возвращает полученную строку в качестве результата своей работы.
  • DateTimeToString (Result, Format, DateTime) — сформатированное символьное представление даты и времени. Процедура формирует символьное представление параметра DateTime типа TDateTime с учетом формата, заданного строкой Format, и помещает результат в строку Result.
  • DateToStr (Date) — символьное представление даты. Функция формирует для параметра Date типа TDateTime или TDate символьное представление даты с учетом региональной установки Windows и возвращает полученную строку в качестве результата своей работы.
  • DayOfWeek (Date) — день недели. Функция возвращает день недели заданной даты Date типа TDateTime или TDate в виде числа от 1 до 7, причем нумерация начинается с воскресенья.
  • TimeToStr (Time) — символьное представление времени. Функция формирует для параметра Time типа TDateTime или TTime символьное представление времени с учетом региональной установки Windows и возвращает полученную строку в качестве результата своей работы.
  • DecodeDate (Date, Year, Month, Day) — выделение в дате года, месяца, дня. Процедура выделяет из параметра Date типа TDateTime или TDate год, месяц, день и помещает их соответственно в параметры Year, Month и Day типа Word.
  • DecodeTime (Date, Hour, Min, Sec, MSec) — выделение во времени часа, минуты, секунды и числа миллисекунд. Процедура выделяет из параметра Date типа TDateTime или TTime час, минуту, секунду и число миллисекунд и помещает их соответственно в параметры Hour, Min, Sec и MSec типа 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.

Тепеть разберем некоторые функции на примерах.

DateTimeToString

DateTimeToStr

DateToStr

TimeToStr

А сейчас попробуем написать часы, применяя описанные выше процедуры и функции. С созданием цифровых часов не должно возникнуть никаких проблем, а вот с аналоговыми нужно повозиться. Но мы, как настоящие программисты, не боимся трудностей, и возьмемся за реализацию этой задачи. И первое, что мы сделаем при запуске программы, узнаем координаты центра часов и вычислим радиус.

Обновлять информацию о времени будем, используя таймер, и сделаем возможность запуска/остановки часов. Запускать и останавливать таймер будем следующей процедурой.

Таймер, через определенные интервалы времени, будет получать информацию о дате и времени, выводить ее, и вызывать процедуру рисования аналоговых часов.

А вот и сама процедура рисования аналоговых часов.

Из примера видно, что сделать часы, в том числе и аналоговые, не представляет из себя ничего сложного. Я думаю, не возникнет больших проблем при разборе данного примера.

Нет ли DecodeDateTime в Delphi 10 Сиэтл?

Я хотел бы получить текущую дату, включая время и миллисекунду. Поскольку Now функция возвращает время без миллисекунды, я решил использовать DecodeDateTime функцию, но Delphi10 это не распространяется, кажется, знают , что это.

ушел ли он? Если да, то я должен использовать вместо него?

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

Как было отмечено в комментарии Реми Лебо в , Now действительно включает миллисекунды , и это соответствует действительности , чтобы:

Процедуры Delphi

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

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

Как и для функции, в начале каждой процедуры указывают ее заголовок. Затем называют эту процедуру каким-нибудь именем. После имени в скобках следует перечень параметров, заканчивающийся символом «;» и потом уже описывают разделы констант, типов, переменных и инструкций.

Общий вид процедуры Delphi:

Общий вид процедуры Delphi выглядит следующим образом:

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

Если процедура обладает какими-либо параметрами, то программист их указывает в скобках, сразу после имени процедуры. В конце заголовка процедуры ставится символ «;». В случае, когда в процедуре имеются именованные константы, программист объявляет их в разделеconst.

Далее за этим разделом идет раздел type, использующийся для объявления типов. После располагается раздел var, содержащий все переменные, которые впоследствии программист использует в своей программе. Затем следует раздел инструкций , которые включает в себя исполняемые инструкции данной процедуры.

Примеры процедуры Delphi:

Приведем пример процедуры Delphi, вычисляющей стоимость некоторой покупки:

DecodeDateTime Routine

Description

(Please provide a description in your own words. It is illegal to use the wording from the Delphi Help.)

Technical Comments

(Known issues / Documentation clarifications / Things to be aware of)

Examples

(Please provide links to articles/source code that show how to use this item.)

See Also

(Please provide links to items specifically related to this item.)

User Comments/Tips

(Please leave your name with your comment.)

DecodeDateTime — Процедура Delphi

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

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

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

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

Обработка календарных дат и времени в приложениях. Изучение и применение встроенных функций и процедур и компонентов 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 позволяет выбрать нужный элемент (строку или число) из списка доступных элементов. Список отображается как в развернутом виде, так и в виде выпадающего

DecodeDateTime — Процедура Delphi

Столкнулся с такой проблемой. Если проверяю по свойству Date то, то выдает какуюто минимальную дату (типа 1.1.1999). Приходится проверять по свойству Text, а это гониво, т.к. на разных машинах разные регион. настройки (для одних формат текста такой » . . «, для других такой » — — «).

Поделитесь пожалуйста опытом

проверяй наличие пробела в text

А что такое DateEdit?

Компанент из RxLib. Выезжающий календарик.


> Приходится проверять по свойству Text, а это гониво, т.к.
> на разных машинах разные регион. настройки (для одних формат
> текста такой » . . «, для других такой » — — «).

Что-то я про регион первый раз слышу, что он разный.


> Александр из Минска © (29.05.03 18:20)

ты наверно не работал более чем за одним компом.

Для не введенной даты в библиотеки резервировали (исключили из лето исчисления) 30.12.1899, так что достаточно проверить или на нее или что еще проще на 0.

Нет ли DecodeDateTime в Delphi 10 Seattle? — delphi

Я хотел бы получить текущую дату, включая время И миллисекунды. Поскольку функция Now возвращает время без миллисекунд, я решил использовать функцию DecodeDateTime, но Delphi10, похоже, не знает, что это такое.

Не прошло? Если да, что я должен использовать вместо него?

    1 1
  • 24 авг 2020 2020-08-24 06:52:29
  • Oh nooo

1 ответ

Чтобы получить строку с датой, временем и миллисекундами, вы также можете рассмотреть это решение:

Как указано в комментарии Remy Lebeau, Now включает миллисекунды, и это соответствует фактически:

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