Moment.js первый день недели неправильный
Я работаю с Moment.js в первый раз. Я попытался получить дату первого дня недели, а в Европе это обычно понедельник. Что бы я ни делал, я получаю воскресенье как результат первого дня недели.
Я попытался настроить разные языки (локальные или глобальные), но безрезультатно. Я использую файл langs.min.js на странице moment.js github. Языковой файл "en-gb" и "fr" имеет строку кода:
dow : 1, // Monday is the first day of the week.
Итак, я бы получил дату понедельника, когда я попрошу первый день недели правильно? Я продолжаю получать воскресенье в качестве выхода.
// Create moment object
var localLang = moment();
// Set language to french
localLang.lang('fr');
// Test language
localLang.lang(); // Output: fr
// Retrieve first day of the week and format it
var dow = localLang.startOf('week').format('dddd DD-MM-YYYY'); // Output: dimanche 14-04-2013
Dimanche является французским для воскресенья. Как вы видите, moment.js может успешно использовать файл языка, но не использует конфигурацию дня недели
JSfiddle с параметрами moment.js и langs.js для проверки:
JSFiddle
изменить:
Я могу получить дату понедельника вместо воскресенья с day(1)
вместо startOf('week')
. Но используя day(0)
, я все равно получаю воскресенье. Почему не в первый день недели, как указано в языковых файлах.
Ответы
Ответ 1
Для тех, кто сталкивается с этим вопросом в последнее время, теперь поддерживаем метод lang
, чтобы установить конкретную локальную настройку.
Настройка первой недели в понедельник:
moment.lang('zh-cn', {
week : {
dow : 1 // Monday is the first day of the week
}
});
var date = moment().weekday(0); // date now is the first day of the week, (i.e., Monday)
Ответ 2
Мы работаем над добавлением локальных рабочих дней, но он еще не закончен.
https://github.com/timrwood/moment/issues/613#issuecomment-13786429
Ответ 3
Мне удалось заставить его работать. Я использовал следующий код:
$(#id_Of_Element).daterangepicker({
weekStart: 2,
locale: {
customRangeLabel: 'Custom Range',
daysOfWeek: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],
monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],
firstDay: 1
}
});