Date.prototype.toLocaleFormat()

Не стандартно
Эта возможность не является стандартной и стандартизировать её пока никто не собирается. Не используйте её на сайтах, смотрящих во внешний мир: она будет работать не у всех пользователей. Также могут присутствовать большие несовместимости между реализациями и её поведение может в будущем измениться.

Сводка

Нестандартный метод toLocaleFormat() преобразует дату в строку, используя указанное форматирование. Объект Intl.DateTimeFormat является совместимой со стандартами альтернативой при форматировании дат. Так же смотрите новую версию метода Date.prototype.toLocaleDateString().

Синтаксис

dateObj.toLocaleFormat(formatString)

Параметры

formatString
Строка формата в той же форме, что ожидается функцией C strftime().

Описание

Метод toLocaleFormat() обеспечивает больший контроль программного обеспечения над форматированием генерируемых даты и/или времени. Названия месяцев и дней недели локализуются с помощью локали операционной системы. Однако, порядок дней и месяцев и другие задачи локализации автоматически не обрабатываются, так как эти аспекты контролируете вы. Вы должны позаботиться о том, что строка формата была правильно локализована в соответствии с настройками системы пользователя. Знайте, что используемая локаль не обязательно совпадает с локалью браузера.

Разработчики расширений и XULRunner должны знать, что загрузку строки формата их файлов .dtd или .properties через URI chrome://somedomain/locale/somefile.ext нужно избегать, поскольку файлы .dtd/.properties и метод toLocaleFormat() не обязательно используют одну и ту же локаль, из-за чего результат может выглядеть странно, неоднозначно или даже нечитаемо.

Также обратите внимание, что поведение локали зависит от платформы и пользователь может настроить эту локаль, так что использование системной локали для выбора строки формата в некоторых случаях может быть даже неадекватным. Вы можете рассмотреть возможность использования более общих методов toLocale* объекта Date, либо написать свою собственную локализацию даты, используя для её отображения методы get* объекта Date.

Примеры

Пример: использование метода toLocaleFormat()

var today = new Date();
var date = today.toLocaleFormat('%A, %B %e, %Y'); // плохой пример

В примере выше метод toLocaleFormat() возвращает строку вида "Wednesday, October 3, 2007". обратите внимание, что строка формата в данном примере не локализуется должным образом, что приводит к проблемам, описанным выше.

Спецификации

Не является частью какой-либо спецификации. Реализована в JavaScript 1.6.

Совместимость с браузерами

Возможность Chrome Firefox (Gecko) Internet Explorer Opera Safari
Базовая поддержка ? (Да) Нет ? ?
Возможность Android Chrome для Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Базовая поддержка ? ? (Да) ? ? ?

Смотрите также

Метки документа и участники

 Внесли вклад в эту страницу: Mingun
 Обновлялась последний раз: Mingun,