Метод toLocaleDateString использует функционал операционной системы для форматирования текстового представления даты. Он преобразовывает дату в строку, используя настройки форматирования операционной системы, в которой выполняется скрипт. Например, в США число записывается после месяца (04/15/98), а в России и Германии число идёт перед месяцем (15.04.98). Если операционная система " не совместима с 2000 годом" (т.е. не всегда использует четырёхзначную запись года), toLocaleDateString вернёт строку "не 2000-совместимым" годом. При преобразовании значения года, которое операционная система форматирует некорректно, toLocaleDateString ведёт себя аналогично toString.
Такие методы как getDate, getMonth и getFullYear дают более предсказуемые результаты, чем toLocaleDateString. Используйте toLocaleDateString, когда намереваетесь показать пользователю строку в формате, соответствующем выбранным им региональным настройкам. Следует помнить что данный метод, по своей природе, ведёт себя по-разному в зависимости от операционной системы и настроек пользователя.
Пример: День запуска спутника
var sputnikLaunch = new Date("October 4, 1957 19:28:34 GMT")
today.toLocaleDateString()// Москвичи получат "4 Октябрь 1957 г."// Жители других местностей - возможно, что-то другое
Дежурная шутка
Главное достижение интернета - писателей стало больше, чем читателей.