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)

Ответ 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
        }
});