Процедура DateTimeToString – огромные возможности форматирования даты в строку

Процедура DateTimeToString в Delphi – огромные возможности форматирования даты в строку.

Процедура DateTimeToString: Показ всех типов форматирования данных полей даты

var
  myDate : TDateTime;
  formattedDateTime : string;

begin
  // Установка нашей TDateTime переменной полной датой и временем :
  // 09/02/2007 в 01:02:03.004  (.004 миллисекунд)
  myDate := EncodeDateTime(2007, 2, 9, 1, 2, 3, 4);

  // Только дата - числовые значения без начальных нулей (кроме года)
  DateTimeToString(formattedDateTime, 'd/m/y', myDate);
  ShowMessage('              d/m/y = '+formattedDateTime);

  // Только дата - числовые значения с начальными нулями
  DateTimeToString(formattedDateTime, 'dd/mm/yy', myDate);
  ShowMessage('           dd/mm/yy = '+formattedDateTime);

  // Использование короткого названия дня, месяца, и добавление текста свободного формата ('of')
  DateTimeToString(formattedDateTime, 'ddd d of mmm yyyy', myDate);
  ShowMessage('  ddd d of mmm yyyy = '+formattedDateTime);

  // Использование длинных имён дня и месяца
  DateTimeToString(formattedDateTime, 'dddd d of mmmm yyyy', myDate);
  ShowMessage('dddd d of mmmm yyyy = '+formattedDateTime);

  // Использование параметров настройки только ShortDateFormat
  DateTimeToString(formattedDateTime, 'ddddd', myDate);
  ShowMessage('              ddddd = '+formattedDateTime);

  // Использование параметров настройки только LongDateFormat
  DateTimeToString(formattedDateTime, 'dddddd', myDate);
  ShowMessage('             dddddd = '+formattedDateTime);

  // Использование параметров настройки ShortDateFormat + LongTimeFormat
  DateTimeToString(formattedDateTime, 'c', myDate);
  ShowMessage('                  c = '+formattedDateTime);
end;

Процедура DateTimeToString: Показ всех типов форматирования данных полей времени

var
  myDate : TDateTime;
  formattedDateTime : string;

begin
  // Установка нашей TDateTime переменной полной датой и временем :
  // 09/02/2007 в 01:02:03.004  (.004 миллисекунд)
  myDate := EncodeDateTime(2000, 2, 9, 1, 2, 3, 4);

  // Только время - числовые значения без использования нулей
  DateTimeToString(formattedDateTime, 'h:m:s.z', myDate);
  ShowMessage('     h:m:s.z = '+formattedDateTime);

  // Только время - числовые значения с использованием нулей
  DateTimeToString(formattedDateTime, 'hh:mm:ss.zzz', myDate);
  ShowMessage('hh:mm:ss.zzz = '+formattedDateTime);

  // Использование параметров настройки только ShortTimeFormat
  DateTimeToString(formattedDateTime, 't', myDate);
  ShowMessage('           t = '+formattedDateTime);

  // Использование параметров настройки только LongTimeFormat
  DateTimeToString(formattedDateTime, 'tt', myDate);
  ShowMessage('          tt = '+formattedDateTime);

  // Использование параметров настройки ShortDateFormat + LongTimeFormat
  DateTimeToString(formattedDateTime, 'c', myDate);
  ShowMessage('           c = '+formattedDateTime);
end;

Процедура DateTimeToString: Показ эффекта локальных настроек параметров формата даты

var
  myDate : TDateTime;
  formattedDateTime : string;

begin
  // Установка нашей переменной TDateTime полной датой и временем
  myDate := StrToDateTime('09/02/49 01:02:03.004');

  // Демонстрация параметров настроек региона заданных по умолчанию

  // Использование значений DateSeparator и TimeSeparator
  DateTimeToString(formattedDateTime, 'dd/mm/yy hh:mm:ss', myDate);
  ShowMessage('dd/mm/yy hh:mm:ss = '+formattedDateTime);

  // Использование ShortMonthNames
  DateTimeToString(formattedDateTime, 'mmm', myDate);
  ShowMessage('              mmm = '+formattedDateTime);

  // Использование LongMonthNames
  DateTimeToString(formattedDateTime, 'mmmm', myDate);
  ShowMessage('             mmmm = '+formattedDateTime);

  // Использование ShortDayNames
  DateTimeToString(formattedDateTime, 'ddd', myDate);
  ShowMessage('              ddd = '+formattedDateTime);

  // Использование LongDayNames
  DateTimeToString(formattedDateTime, 'dddd', myDate);
  ShowMessage('             dddd = '+formattedDateTime);

  // Использование строки ShortDateFormat
  DateTimeToString(formattedDateTime, 'ddddd', myDate);
  ShowMessage('            ddddd = '+formattedDateTime);

  // Использование строки LongDateFormat
  DateTimeToString(formattedDateTime, 'dddddd', myDate);
  ShowMessage('           dddddd = '+formattedDateTime);

  // Использование TimeAmString
  DateTimeToString(formattedDateTime, 'hhampm', myDate);
  ShowMessage('           hhampm = '+formattedDateTime);

  // Использование строки ShortTimeFormat
  DateTimeToString(formattedDateTime, 't', myDate);
  ShowMessage('                t = '+formattedDateTime);

  // Использование строки LongTimeFormat
  DateTimeToString(formattedDateTime, 'tt', myDate);
  ShowMessage('               tt = '+formattedDateTime);

  // Использование TwoDigitCenturyWindow
  DateTimeToString(formattedDateTime, 'dd/mm/yyyy', myDate);
  ShowMessage('       dd/mm/yyyy = '+formattedDateTime);

  ShowMessage('');

  // Теперь изменяем умолчания
  DateSeparator      := '-';
  TimeSeparator      := '_';
  ShortDateFormat    := 'dd/mmm/yy';
  LongDateFormat     := 'dddd dd of mmmm of yyyy';
  TimeAMString       := 'morning';
  TimePMString       := 'afternoon';
  ShortTimeFormat    := 'hh:mm:ss';
  LongTimeFormat     := 'hh : mm : ss . zzz';
  ShortMonthNames[2] := 'FEB';
  LongMonthNames[2]  := 'FEBRUARY';
  ShortDayNames[4]   := 'WED';
  LongDayNames[4]    := 'WEDNESDAY';
  TwoDigitYearCenturyWindow := 75;

  // Установка нашей переменной TDateTime в тоже самое значение, что и прежде
  // за исключением того, что мы должны использовать новые разделители даты и времени
  // Только переменная TwoDigitYearCenturyWindow здесь вступает в силу
  myDate := StrToDateTime('09-02-49 01_02_03.004');

  // Использование значений DateSeparator и TimeSeparator
  DateTimeToString(formattedDateTime, 'dd/mm/yy hh:mm:ss', myDate);
  ShowMessage('dd/mm/yy hh:mm:ss = '+formattedDateTime);

  // Использование ShortMonthNames
  DateTimeToString(formattedDateTime, 'mmm', myDate);
  ShowMessage('              mmm = '+formattedDateTime);

  // Использование LongMonthNames
  DateTimeToString(formattedDateTime, 'mmmm', myDate);
  ShowMessage('             mmmm = '+formattedDateTime);

  // Использование ShortDayNames
  DateTimeToString(formattedDateTime, 'ddd', myDate);
  ShowMessage('              ddd = '+formattedDateTime);

  // Использование LongDayNames
  DateTimeToString(formattedDateTime, 'dddd', myDate);
  ShowMessage('             dddd = '+formattedDateTime);

  // Использование строки ShortDateFormat
  DateTimeToString(formattedDateTime, 'ddddd', myDate);
  ShowMessage('            ddddd = '+formattedDateTime);

  // Использование строки LongDateFormat
  DateTimeToString(formattedDateTime, 'dddddd', myDate);
  ShowMessage('           dddddd = '+formattedDateTime);

  // Использование TimeAmString
  DateTimeToString(formattedDateTime, 'hhampm', myDate);
  ShowMessage('           hhampm = '+formattedDateTime);

  // Использование строки ShortTimeFormat
  DateTimeToString(formattedDateTime, 't', myDate);
  ShowMessage('                t = '+formattedDateTime);

  // Использование строки LongTimeFormat
  DateTimeToString(formattedDateTime, 'tt', myDate);
  ShowMessage('               tt = '+formattedDateTime);

  // Использование TwoDigitCenturyWindow
  DateTimeToString(formattedDateTime, 'dd/mm/yyyy', myDate);
  ShowMessage('       dd/mm/yyyy = '+formattedDateTime);
end;

Main Menu