FormatDateTime

Функция FormatDateTime предназначена для преобразования времени и даты, заданных в виде OLE DATE, в текстовую строку, в соответствии с указанным форматом.

Синтаксис:

string = FormatDateTime(time [, format_number]);

string = FormatDateTime(time, format_string);

string Текстовая строка
time Время и дата, заданные в фомате OLE DATE
format_number Формат вывода времени и даты
format_string Текстовая строка для форматирования времени и даты

Значение параметра format_number может принимать следующие значения:

  0



-



Отображает дату и/или время. Если присутствует дата, то она отображается в кратком формате, как указано в региональных настройках. Если присутствует время, то оно отображается в обычном формате, как указано в региональных настройках. Если присутствует и время и дата, то одновременно отображается, и время, и дата.
  1 - Отображается дата в полном формате, как указано в региональных настройках.
  2 - Отображается дата в кратком формате, как указано в региональных настройках.
  3 - Отображается время в обычном формате, как указано в региональных настройках.
  4 - Отображается время 24-часовом формате (hh:mm).

Если параметр format_number не задан, то используется значение 0.


Значение параметра format_string задает строковое выражение для форматирования времени и даты, и может содержать следующие элементы:

  d - День месяца, одна или две цифры.
  dd - День месяца, две цифры. Если значение меньше 10, то дополняется нулем слева.
  ddd - Аббревиатура дня недели.
  dddd - Полное название дня недели.
  ddddd - Дата по краткому формату даты, указанному в региональных настройках.
  dddddd - Дата по полному формату даты, указанному в региональных настройках.
  h - Часы в 12-часовом формате, одна или две цифры.
  hh - Часы в 12-часовом формате, две цифры. Если значение меньше 10, то дополняется нулем слева.
  H - Часы в 24-часовом формате, одна или две цифры.
  HH - Часы в 24-часовом формате, две цифры. Если значение меньше 10, то дополняется нулем слева.
  m - Минуты, одна или две цифры.
  mm - Минуты, две цифры. Если значение меньше 10, то дополняется нулем слева.
  M - Месяц, одна или две цифры.
  MM - Месяц, две цифры. Если значение меньше 10, то дополняется нулем слева.
  MMM - Аббревиатура месяца.
  MMMM - Полное название месяца.
  s - Секунды, одна или две цифры.
  ss - Секунды, две цифры. Если значение меньше 10, то дополняется нулем слева.
  y - День в году, от 1 до 366 включительно.
  yy - Год, две цифры (то есть, 1997 будет отображено как "97").
  yyyy - Год, полный формат (то есть, 1997 будет отображено как "1997").
  am/pm - Часы в 12-часовом формате с использованием символов "am" или "pm".
  a/p - Часы в 12-часовом формате с использованием символов "a" или "p".
  ampm - Часы в 12-часовом формате с использованием символов обозначения времени до и после полудня, указанных в региональных настройках.
  / или . - Разделитель даты, указанный в региональных настройках.
  : - Разделитель времени, указанный в региональных настройках.

В форматную строку также можно вставлять обычный текст, который должен быть выделен двойными кавычками, при этом, сами кавычки не отображаются в результирующей строке. Например, если вы хотите отобразить текущую дату в формате:


"Today is:Friday July 25, 1997 Time: 8:34",

то format_string должна иметь следующий вид:


"\"Today is:\" dddd MMMM dd, yyyy \" Time: \"h:m".


Чтобы отобразить текст, который включает в себя двойные кавычки в результирующей строке, необходимо указать до двойной кавычки три подряд идущие обратные косые. Например, если вы хотите отобразить текущую дату в формате:


"Today is: "Friday July 25, 1997" Time: 8:34",

то format_string должна иметь следующий вид:


" \"Today is:\" \\\" dddd MMMM dd, yyyy \\\" \"Time:\" h:m".

Пример:

  str = FormatDateTime(0, 0); // Результат выполнения "0:00:00"
  str = FormatDateTime(0.5, 0); // Результат выполнения "12:00:00"
  str = FormatDateTime(1, 0); // Результат выполнения "31.12.1899
  str = FormatDateTime(1.5, 0); // Результат выполнения "31.12.1899 12:00:00"
  str = FormatDateTime(1.5, 1); // Результат выполнения "31 Декабрь 1899 г."
  str = FormatDateTime(1.5, 2); // Результат выполнения "31.12.1899"
  str = FormatDateTime(1.5, 3); // Результат выполнения "12:00:00"
  str = FormatDateTime(1.5, 4); // Результат выполнения "12:00"
  str = FormatDateTime(1.5, 5); // Результат выполнения "" (недопустимый параметр 5)
  str = FormatDateTime(1.5, "yyyy-mm-dd HH:MM:ss"); // Результат выполнения "1899-12-31 12:00:00"
  str = FormatDateTime(time(),"c"); // Результат выполнения "21.11.2005 8:01:25"