Метод toLocaleFormat
обеспечивает больший контроль за представлением даты и времени. Названия месяцев и дней недели представляются согласно языковым настройкам системы. Однако порядок записи месяца и числа и прочие элементы локализации не выбираются автоматически, поскольку вы сами задаёте порядок их следования. Следует принять к сведению, что строка будет локализована согласно настройкам операционной системы, которые могут не совпадать с региональными настройками браузера.
В большинстве случаев вместо данного метода, возможно, следует использовать более общие методы toLocale*
или произвести локализацию собственными средствами, опираясь на данные методов get*
.
Пример: Неправильное использование toLocaleFormat
var today = new Date();
var date = today.toLocaleFormat("%A, %B %e, %Y"); // Плохой пример
// Выводит что-то вроде "пятница, Октябрь 04, 1957" - ну куда это годится?
Хром ругается на отсутствие этого метода у объекта, пришлось пользовать регэкспы =(
ALastorZ: поделились бы сниппетом
Что-то в Опере не работает, ругается что нет такой функции toLocaleFormat
>>>
formatString
Строка описания формата в том же формате, что и функция strftime() языка C.
>>>
хотелось бы расшифровку - я, к примеру, незнаю
хотел привести дату к формату = мм/дд/гггг - чч:мм:сс
не подскажете?
>>>
нашел так - var date=today.toLocaleFormat('%m/%d/%Y - %H:%M:%S');
проблема в том, что в IE такого метода нет
Вот, ребятки, набросал функцию, добавляющую требуемый функционал toLocaleFormat для тех браузеров где его нет (то же касается и nodejs):
И вот так вот можно форматировать локальную дату:
>>>
гм... а круто получилось!
только вместо =for(k in f)= нужно поставить =for(var k in f)= - чтоб проблем с глобалом не было...
Спасибо, хорошая идея и очень полезный код!
Можно добавлять свои модификаторы и подставлять, например, названия месяцев из дополнительного массива по индексу getMonth.
+
this.getYear() + 1900 лучше изменить на this.getFullYear() чтобы не было проблем при использовании разных браузеров
формат %y = 14; %Y = 2014
А также с учётом предложенных выше улучшений: