Описание |
Функция FormatDateTime обеспечивает, богатое форматирование TDateTime DateTime значения в строку. Форматирование определяется строкой Форматирования.
Форматируемая строка (Formatting) может включать смесь обычных символов (которые передаются неизменными в строку результата), и символы форматирования данных. Форматирование лучше всего объясняется кодом примера.
Следующие (неазиатские) строки символа форматирования могут использоваться в форматируемой строке:
y = Год из 2-х последних цифр
yy = Год из 2-х последних цифр
yyyy = Год из 4-х цифр
m = Номер месяца без 0
mm = Номер месяца как 2 цифры
mmm = Месяц используя ShortDayNames (Янв)
mmmm = Месяц используя LongDayNames (Январь)
d = Число без 0
dd = Число как 2 цифры
ddd = Число используя ShortDayNames (Воск)
dddd = Число используя LongDayNames (Воскресенье)
ddddd = Число в ShortDateFormat
dddddd = Число в LongDateFormat
c = Используя ShortDateFormat + LongTimeFormat
h = Час без 0
hh = Час как 2 цифры
n = Минуты без 0
nn = Минуты как 2 цифры
s = Секунды без 0
ss = Секунды как 2 цифры
z = Миллисекунды без 0
zzz = Миллисекунды как 2 цифры
t = Используя ShortTimeFormat
tt = Используя LongTimeFormat
am/pm = Используется после h : выдаёт 12 часов + am/pm
a/p = Используется после h : выдаёт 12 часов + a/p
ampm = Как a/p но TimeAMString,TimePMString
/ = Заменяется значением DateSeparator
: = Заменяется значением TimeSeparator
В дополнение к этому форматированию, различные из вышеупомянутых вариантов затрагиваются следующими переменными, с их значением по значением по умолчанию:
DateSeparator = /
TimeSeparator = :
ShortDateFormat = dd/mm/yyyy
LongDateFormat = dd mmm yyyy
TimeAMString = AM
TimePMString = PM
LongTimeFormat = hh:mm:ss
ShortMonthNames = Янв Фев ...
LongMonthNames = Январь, Февраль ...
ShortDayNames = Воск, Пон ...
LongDayNames = Воскресенье, Понедельник ...
TwoDigitYearCenturyWindow = 50
Версия 2 этой функции - для использования в пределах потоков. Вы должны заполнить запись FormatSettings перед вызовом запроса. Она берёт местную копию глобальной переменной, форматирующей переменные, которые делают подпрограмму потоко-безопасной.
|
|
Похожие команды |
| |
|
Пример кода : Показ всех типов данных форматирования полей даты |
var
myDate : TDateTime;
begin // Установка нашей переменной
TDateTime в полное значение даты и времени: // 09/02/2000 в 01:02:03.004 (.004
миллисекунд)
myDate := EncodeDateTime(2000, 2, 9, 1, 2, 3, 4);
// Только дата - числовые значения
без начальных нулей (кроме года)
ShowMessage(' d/m/y = '+
FormatDateTime('d/m/y', myDate));
// Только дата - числовые значения с
начальными нулями
ShowMessage(' dd/mm/yy = '+
FormatDateTime('dd/mm/yy', myDate));
// Использование коротких названий
для дня, месяца, и добавление текста свободного формата ('of')
ShowMessage(' ddd d of mmm yyyy = '+
FormatDateTime('ddd d of mmm yyyy', myDate));
// Использование длинных названий для
дня и месяца
ShowMessage('dddd d of mmmm yyyy = '+
FormatDateTime('dddd d of mmmm yyyy', myDate));
// Использование настроек только
ShortDateFormat
ShowMessage(' ddddd = '+
FormatDateTime('ddddd', myDate));
// Использование настроек только LongDateFormat
ShowMessage(' dddddd = '+
FormatDateTime('dddddd', myDate));
// Использование настроек ShortDateFormat + LongTimeFormat
ShowMessage(' c = '+
FormatDateTime('c', myDate));
end;
|
d/m/y = 9/2/00
dd/mm/yy = 09/02/00
ddd d of mmm yyyy = Ср 9 Фев 2000
dddd d of mmmm yyyy = Среда 9 Февраля 2000
ddddd = 09/02/2000
dddddd = 09 Февраля 2000
c = 09/02/2000 01:02:03
|
|
| Пример кода : Показ всех типов форматирования данных полей времени |
var
myDate : TDateTime;
begin // Установка нашей переменной TDateTime в полное значение даты и времени: //
09/02/2000 в 01:02:03.004 (.004 миллисекунд)
myDate := EncodeDateTime(2000, 2, 9, 1, 2, 3, 4);
// Только время - числовые значения
без начальных нулей (кроме года)
ShowMessage(' h:m:s.z = '+FormatDateTime('h:m:s.z', myDate));
// Только время - числовые значения с
начальными нулями
ShowMessage('hh:mm:ss.zzz = '+FormatDateTime('hh:mm:ss.zzz', myDate));
// Использование настроек только ShortTimeFormat
ShowMessage(' t = '+FormatDateTime('t', myDate));
// Использование настроек только LongTimeFormat
ShowMessage(' tt = '+FormatDateTime('tt', myDate));
// Использование настроек ShortDateFormat + LongTimeFormat
ShowMessage(' c = '+FormatDateTime('c', myDate));
end;
|
h:m:s.z = 1:2:3.4
hh:mm:ss.zzz = 01:02:03.004
t = 01:02
tt = 01:02:03
c = 09/02/2000 01:02:03
|
|
| Пример кода : Показ эффекта местных параметров настроек формата даты |
var
myDate : TDateTime;
begin // Установка нашей переменной TDateTime
в полное значение даты и времени
myDate := StrToDateTime('09/02/49 01:02:03.004');
// Демонстрация локальных настроек
заданных по умолчанию
// Использование значений DateSeparator
и TimeSeparator
ShowMessage('dd/mm/yy hh:mm:ss = '+
FormatDateTime('dd/mm/yy hh:mm:ss', myDate));
// Использование ShortMonthNames
ShowMessage(' mmm = '+FormatDateTime('mmm', myDate));
// Использование LongMonthNames
ShowMessage(' mmmm = '+FormatDateTime('mmmm', myDate));
// Использование ShortDayNames
ShowMessage(' ddd = '+FormatDateTime('ddd', myDate));
// Использование LongDayNames
ShowMessage(' dddd = '+FormatDateTime('dddd', myDate));
// Использование строки ShortDateFormat
ShowMessage(' ddddd = '+FormatDateTime('ddddd', myDate));
// Использование строки LongDateFormat
ShowMessage(' dddddd = '+FormatDateTime('dddddd', myDate));
// Использование TimeAmString
ShowMessage(' hhampm = '+FormatDateTime('hhampm', myDate));
// Использование строки ShortTimeFormat
ShowMessage(' t = '+FormatDateTime('t', myDate));
// Использование строки LongTimeFormat
ShowMessage(' tt = '+FormatDateTime('tt', myDate));
// Использование TwoDigitCenturyWindow
ShowMessage(' dd/mm/yyyy = '+
FormatDateTime('dd/mm/yyyy', myDate));
ShowMessage('');
// Теперь показываем умолчания
DateSeparator := '-';
TimeSeparator := '_';
ShortDateFormat := 'dd/mmm/yy';
LongDateFormat := 'dddd dd of mmmm of yyyy';
TimeAMString := 'утро';
TimePMString := 'день';
ShortTimeFormat := 'hh:mm:ss';
LongTimeFormat := 'hh : mm : ss . zzz';
ShortMonthNames[2] := 'ФЕВ';
LongMonthNames[2] := 'ФЕВРАЛЬ';
ShortDayNames[4] := 'ВТ';
LongDayNames[4] := 'ВТОРНИК';
TwoDigitYearCenturyWindow := 75;
// Установка нашей переменной
TDateTime в то же самое значение, что и прежде //
за исключением того, что мы должны использовать новые разделители даты и времени //
Здесь имеет действие только переменная TwoDigitYearCenturyWindow
myDate := StrToDateTime('09-02-49 01_02_03.004');
// Использование значений DateSeparator
и TimeSeparator
ShowMessage('dd/mm/yy hh:mm:ss = '+
FormatDateTime('dd/mm/yy hh:mm:ss', myDate));
// Использование ShortMonthNames
ShowMessage(' mmm = '+FormatDateTime('mmm', myDate));
// Использование LongMonthNames
ShowMessage(' mmmm = '+FormatDateTime('mmmm', myDate));
// Использование ShortDayNames
ShowMessage(' ddd = '+FormatDateTime('ddd', myDate));
// Использование LongDayNames
ShowMessage(' dddd = '+FormatDateTime('dddd', myDate));
// Использование строки ShortDateFormat
ShowMessage(' ddddd = '+FormatDateTime('ddddd', myDate));
// Использование строки LongDateFormat
ShowMessage(' dddddd = '+FormatDateTime('dddddd', myDate));
// Использование TimeAmString
ShowMessage(' hhampm = '+FormatDateTime('hhampm', myDate));
// Использование строки ShortTimeFormat
ShowMessage(' t = '+FormatDateTime('t', myDate));
// Использование строки LongTimeFormat
ShowMessage(' tt = '+FormatDateTime('tt', myDate));
//Использование TwoDigitCenturyWindow
ShowMessage(' dd/mm/yyyy = '+
FormatDateTime('dd/mm/yyyy', myDate));
end;
|
dd/mm/yy hh:mm:ss = 09/02/49 01:02:03
mmm = Фев
mmmm = Февраль
ddd = Вт
dddd = Вторник
ddddd = 09/02/2049
dddddd = 09 Февраль 2049
hhampm = 01AM
t = 01:02
tt = 01:02:03
dd/mm/yyyy = 09/02/2049
dd/mm/yy hh:mm:ss = 09-02-49 01_02_03
mmm = ФЕВ
mmmm = ФЕВРАЛЬ
ddd = ВТ
dddd = ВТОРНИК
ddddd = 09-ФЕВ-49
dddddd = ВТОРНИК 09 ФЕВРАЛЬ 1949
hhampm = 01утро
t = 01_02_03
tt = 01 _ 02 _ 03 . 004
dd/mm/yyyy = 09-02-1949
|
|