| Описание |  
Функция 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 
 |  
  |