PDateTime — Тип Delphi


Содержание

Как узнать переменную типа TDateTime, TDate и TTime в Delphi

Мне нужно знать переменную типа TDateTime, TDate и TTime.

Кто-нибудь знает, как это сделать?

Я использовал приведенный ниже код, результатом является «NOT TDateTime», «NOT TDate», «NOT Ttime»

Перегружены операционные перегрузки Implicit оператора TValue .

Когда вы назначаете результат StrToDateTime , StrToDate и StrToTime на TValue , он использует самую подходящую перегрузку оператора Implicit от TValue , которая равна Extended .

Также имейте в виду, что все три функции возвращают TDateTime , поэтому даже если бы были перегрузки операторов для TDateTime , TDate и TTime , это не сработало бы, как ожидалось.

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

На всякий случай вы пытались определить тип результата StrToDateTime:

В качестве альтернативы вы можете использовать функции TryStrToDate , TryStrToTime и TryStrToDateTime .

Если вам интересно, TDateTime кодируется как плавающая точка Double внутри.

Внутренние TDateTime
Дробная часть обозначает время, целое число обозначает дату.
Зная это, следующие тесты будут оцениваться до true .

Очевидно, что очень обходной способ тестирования, но иногда он помогает узнать, как TDateTime формируется внутри.

DateUtils
Разумными версиями этих тестов были бы:

Как правильно работать с датой и временем

26.06.2012, 10:59

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

Работа с датой и временем
ребят. к примеру есть у меня переменная типа дата-время: str:=’12.03.2011 12:23:54′;.

Работа с датой и временем(калькулятор)
Задание: Организовать проект «Калькулятор времени». Вывести на экран текущую дату, а также время(в.

Работа с Датой и Временем. Delphi 7
Подскажите пожалуйста! В ячейке таблицы есть поле со временем длительности. В нем могут.

Сохранение файла с датой и временем в названии
Нужно сохранить текст из Memo1 в текстовый документ, имя которого будет дата и время сохранения .

26.06.2012, 14:05 2

Решение

26.06.2012, 15:51 [ТС] 3

то что вы предлагаете, это неудобно, там нужно складывать часы, дни, месяцы, учитывать сколько дней в месяце ,месяцев в году и тд. а в unixtime достаточно сложить два числа и все.Для тех кто в танке: unix time это кол-во секунд прошедших с 01.01.1970, в дельфе есть аналог, но там только кл-во дней прошедших с 1900 года.а мне нужны месяца, дни, часы,минуты, секунды

Нашел, вот ф-ия преобразующая unixtime и TDateTime в обе стороны

26.06.2012, 15:51

Сделать так, чтобы папка сохранялась с датой и временем в названии
Помогите! не могу понять как в Delphi7 сделать так чтоб папка создавалась с названием даты и время.

Как правильно работать с таблицами Word
Здравствуйте, помогите решить проблему. Строка после таблицы помещается в ее первую ячейку. Как.

Как работать в Perl с датой и временем?
как работать в Perl с датой и временем которые я получаю из MySql, например: как получить.

Delphi: определение и удаление значения TDatetime

11 xsubira [2013-02-20 19:33:00]

Кажется, что нет способа присвоить NULL (либо » неназначенное значение » переменным TDateTime .

Единственный способ, который я себе представлял, это использовать что-то вроде этого:

Есть ли кто-нибудь, кто знает лучшее решение, что не перекрывает значение даты 0?

TDateTime ли отрицательные значения TDateTime ? (Как способный ресурс для предыдущей цели)

null datetime delphi

4 ответа

13 Решение ain [2013-02-20 19:44:00]

Как уже писал Андреас, тип TDateTime на самом деле double и, следовательно, не «nullable». Я использую

для пустого значения даты, так как это означает невозможную дату 00/00/0000 . Но, например, DevExpress использует

Итак, похоже, что нет согласованной стандартной долины, вы должны выбрать тот, который вам подходит.

Сначала вам нужно определить, что вы подразумеваете под «пустым значением TDateTime «.

Значение A TDateTime — это двойное число с датой, закодированной в целочисленной части, и временем, закодированным в дробной части. Итак, ближайшая вещь к «нулевой дате», которую вы можете получить, вероятно, 0 .

Следовательно, просто протестируйте ADate <> 0 , чтобы проверить, является ли дата «null».

Но будьте осторожны: если вы объявите локальную переменную TDateTime , тогда она не обязательно будет =0 , прежде чем вы дадите ей значение. Это может быть что угодно. Конечно, то же самое относится и к переменным типа integer , double , boolean .

Кроме того, я считаю, что TDateTime со значением 0 кодирует дату 1899-12-30.

Наконец, отрицательные значения TDateTime совершенно нормальны. Например, -5000 соответствует 1886-04-22 .

Я не совсем понимаю смысл вашего кода. Если вы хотите использовать 0 как «неназначенное» значение (что плохо, если вас интересуют даты, близкие к 1899-12-30), почему бы просто не сделать

или, возможно (но не эквивалентно!),

В своем ответе ain дал пару более разумных решений для значения «непризнанной даты».

tDateTime — это undefined для значений от 0 до -1, что означает, что tDateTime -0.5 является значением undefined и полезна для нулевой даты в качестве альтернативы NaN. DateTimeToString будет отображать -0.5 так же, как +0.5;

Используйте PDateTime вместо TDateTime и отправляйте как значение nil. Если нет указателя на значение, не получайте значения.

Для проверки использования значения Назначено ptr:

How know type variable is TDateTime, TDate and TTime in Delphi

I need know type variable TDateTime, TDate and TTime.

Anyone have any idea how to do this?

I used the code below, the result is «Is NOT TDateTime», «Is NOT TDate», «Is NOT Ttime»

3 Answers 3

The Implicit operator overloads of TValue got you.

When you assign the result of StrToDateTime , StrToDate and StrToTime to a TValue it uses the most matching Implicit operator overload from TValue which is Extended .

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

Also keep in mind that all three functions return TDateTime so even if there were operator overloads for TDateTime , TDate and TTime it would not work as expected.

To get the correct results you would have to explicitly specify the type when assigning your values to the TValue variables:

Just in case you were trying to determine the result type of StrToDateTime:

Alternatively, you could use the TryStrToDate , TryStrToTime , and TryStrToDateTime functions.

In case you’re curious, the TDateTime is encoded as floating point Double internally.

TDateTime internals
The fractional part denotes the time, the integer part denotes the date.
Knowing this the following tests will evaluate to true .

Obviously that’s a very roundabout way of testing, but sometimes it helps to know how a TDateTime is shaped internally.

DateUtils
The sane versions of these tests would be:

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

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).

Функции и процедуры Delphi. Справочник.

Функция FormatDateTime(
const Format: string;
DateTime: TDateTime ): string;

Описание
Функция преобразовывает значение даты и времени типа TDateTime в строку заданного формата. Исходное значение передается в параметре DateTime. Формат результирующей строки определяется параметром Format, который использует следующие элементы форматирования:

Элемент Описание
c Дата и время. Для значения даты используется формат определенный глобальной переменной ShortDateFormat, а для значения времени, формат определенный глобальной переменной LongTimeFormat. Если значение DateTime не содержит дробной части, то время не отображается
d День без нуля впереди (1-31).
dd День с нулем впереди (01-31).
ddd Сокращенное название дня недели (‘вс’, . ‘сб’). Строковые значения определяются глобальной переменной ShortDayNames.
dddd Полное название дня недели (‘Воскресенье’, . ‘Суббота’). Строковые значения определяются глобальной переменной LongDayNames.
ddddd Дата. Формат определяется глобальной переменной ShortDateFormat.
dddddd Дата. Формат определяется глобальной переменной LongDateFormat.
m Месяц без нуля впереди (1-12).
Если данный символ следует за h или hh, то отображается не месяц, а минуты.
mm Месяц с нулем впереди (01-12).
Если данный символ следует за h или hh, то отображается не месяц, а минуты.
mmm Сокращенное название месяца (янв, . дек). Строковые значения определяются глобальной переменной ShortMonthNames.
mmmm Полное название месяца (‘Январь’ — ‘Декабрь’). Строковые значения определяются глобальной переменной LongMonthNames.
yy Год двумя цифрами (00-99).
yyyy Год четырьмя цифрами (0000-9999).
h Час без нуля впереди (0-23).
hh Час с нулем впереди (00-23).
n Минуты без нуля впереди (0-59).
nn Минуты с нулем впереди (00-59).
s Секунды без нуля впереди (0-59).
ss Секунды с нулем впереди (00-59).
t Время. Формат определяется глобальной переменной ShortTimeFormat.
tt Время. Формат определяется глобальной переменной LongTimeFormat.
am/pm Выводит ‘am’ для любого часа до полудня, и ‘pm’ для любого часа после полудня. Обозначения ‘am/pm’ могут быть указаны в верхнем, нижнем и в смешанном регистре. Регистр символов результирующей строки будет соответствовать регистру символов строки формата.
a/p Выводит ‘a’ для любого часа до полудня, и ‘p’ для любого часа после полудня. Символы ‘a/p’ могут быть указаны в верхнем, нижнем и в смешанном регистре. Регистр символов результирующей строки будет соответствовать регистру символов строки формата.
ampm Выводит значение глобальной переменной TimeAMString для любого часа до полудня, и значение глобальной переменной TimePMString для любого часа после полудня.
/ Разделитель полей даты. Результирующий символ разделителя определяется глобальной переменной DateSeparator.
: Разделитель полей времени. Символ разделителя определяется глобальной переменной TimeSeparator.
‘xx’ «xx» Символы, заключенные в двойные или одиночные кавычки, не форматируются и выводятся один к одному, как есть.
Илон Маск рекомендует:  Шаблон сайта секреты красоты HTML, CSS, 1 страница

Символы форматирования могут быть указаны как в верхнем, так и в нижнем регистре. Если в параметре Format определена пустая строка, то выполняется форматирование, аналогичное формату при использовании значения строки форматирования ‘с’.

Пример
var
S: string;
begin
S:= FormatDateTime( ‘Сегодня dddd dd mmm yyyy г.’, Date);
MessageDlg( S, mtInformation, [mbOk], 0);
end;

Delphi: как определить и опорожнить значение TDatetime

Кажется, нет способа назначить NULL (или «неприсвоенным значением » to TDateTime переменные.

единственный способ, который я себе представлял, — это использовать что-то вроде этого:

есть ли кто-нибудь, кто знает лучшее решение, что не перекрывает значение даты 0?

отрицательные значения TDateTime опасно? (Как способный ресурс для предыдущей цели)

4 ответов

как Андреас уже писал, TDateTime тип на самом деле double и, следовательно, не «nullable». Я использую

для пустого значения даты, поскольку это представляет невозможную дату 00/00/0000 . Но, например, DevExpress использует

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

сначала вам нужно определить, что вы подразумеваете под » пустым TDateTime значение’.

A TDateTime value-это double с датой, закодированной в целочисленной части, и временем, закодированным в дробной части. Таким образом, ближе всего к «нулевой дате» вы можете получить, вероятно, 0 .

следовательно, просто проверить ADate <> 0 чтобы проверить, является ли дата «null».

но будьте осторожны: если вы объявляете TDateTime локальная переменная тогда это не обязательно будет =0 прежде чем вы дадите его значение. Это может быть что угодно. Конечно, то же самое относится и к переменным типа integer , double , boolean , .

кроме того, я считаю, что a TDateTime со значением 0 кодирует дату 1899-12-30.

в конце концов, отрицательные TDateTime значения совершенно нормальны. Например, -5000 соответствует 1886-04-22 .

я не совсем понимаю смысл вашего кода. Если вы хотите использовать 0 как значение «неназначенный» (что плохо, если вы заинтересованы в даты близки к 1899-12-30), почему бы просто не

или, возможно (но не эквивалентно!),

в своем ответе Айн дал несколько более разумных вариантов для значения «неназначенная дата».

tDateTime не определено для значений между 0 и -1, что означает, что tDateTime -0.5 является неопределенным значением и полезно для нулевой даты в качестве альтернативы NaN. DateTimeToString отобразит -0.5 то же самое, что и +0.5;

используйте PDateTime вместо TDateTime и отправьте как нулевое значение. Если нет указателя на значение, результат не имеет значения.

для проверки значения используйте назначенный ptr:

Справочник по компонентам 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.

Илон Маск рекомендует:  Dos fn 42h установить указатель файла lseek

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

Справочник по компонентам 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. Спецификаторы могут быть указаны как в верхнем, так и в нижнем регистрах символов — это не играет роли.

PDateTime — Тип Delphi

Есть переменная типа TDatetime, в которой хранятся дата и время, как мне из неё получить только время?

dt:=dt-Trunc(dt); // Теперь в dt только время

Strips the date portion from a TDateTime value.

function TimeOf(const AValue: TDateTime): TDateTime;

Call TimeOf to convert a TDateTime value to a TDateTime value that includes only the time information (sets the date portion to 0, which means 12/30/1899).

Ты Ega23 © (12.03.04 10:53) [1] не слушай, он тебе подсказал как уничтожить время, а для уничтожения даты надо использовать Frac

Ты Ega23 © (12.03.04 10:53) [1] не слушай, он тебе подсказал как уничтожить время, а для уничтожения даты надо использовать Frac

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