Получение локализованного дня недели

Я хотел бы получить названия дней недели в JavaScript, локализованные на текущий язык пользователя; предпочтительно с чем-то более приятным, чем то, что я сейчас использую:

var weekDays = [];
var d = new Date();

while(d.getDay() > 0) {
    d.setDate(d.getDate() + 1);
}

while(weekDays.length < 7) {
    weekDays.push(d.toLocaleDateString().match(/\w+/)[0]);
    d.setDate(d.getDate() + 1);
}

Есть простой способ сделать это? Или мне просто нужно предоставить строки с датами для максимально возможного количества локалей?

 pimvdb26 мая 2012 г., 14:34
Я хотел бы предупредить вас, чтоtoLocaleDateString не кажется надежным. Я нахожусь на голландской версии Windows и Chrome, но я получаю массив английских названий дней недели.
 Travis26 мая 2012 г., 07:35
Я не могу придумать какой-либо другой способ сделать это, но если вы просто сохраняете дни недели, вы можете просто инициализировать дату в понедельник вместо того, чтобы проходить через первый цикл while. Затем выполните цикл по каждому дню недели и сохраните эти значения в массиве дней недели.

Ответы на вопрос(2)

он очень хорошо обрабатывает локализацию. Он поставляется с множеством настроек глобализации. Вы просто загружаете настройки глобализации вашего текущего CultureInfo, а datejs позаботится обо всем остальном.

Javascript Дата Локализация

Решение Вопроса

Date.toLocaleString(), например:

d = new Date();
d.toLocaleString(window.navigator.language, {weekday: 'long'});

или же

d.toLocaleString('sk-SK', {weekday: 'short'});
 Ry-♦08 дек. 2014 г., 00:34
Ха! Хотя я использовал это в вопросе, я никогда не знал, что это потребовало аргументов! Спасибо.

Ваш ответ на вопрос