Bootstrap 3 Datetimepicker 3.0.0 - начать неделю с понедельника

Есть несколько причин, по которым я использую Bootstrap 3 Datetimepicker 3.0.0 в своем проекте MVC 5.

Есть идеи, как компенсировать начало недели, чтобы оно начиналось с понедельника? Язык тегов тоже не работает.

 $(function () {
    $('#PickupTime').datetimepicker({
     weekStart: 1
    });
 });

Это не работает, потому что это не тот же bootstrap-datapicker.js

Ответ 1

Вместо использования moment.js я использовал moment-with-langs.js(я предполагаю, что он пришел с пакетом по умолчанию ASP.NET MVC 5).

Вызывая:

<script type="text/javascript">
    $('#DateTime').datetimepicker({
        language: "hr"
    });
</script>

вещь работает, наконец, календар начинается с понедельника.

UPDATE: Еще лучше, добавьте ключ в web.config

<appSettings>    
    <add key="Culture" value="hr" />
</appSettings>

а затем

$(document).ready(function () {
    $(document).on('focus', '#Date', function () {
        $(this).datetimepicker({
            locale: '@System.Configuration.ConfigurationManager.AppSettings["Culture"]',
            format: 'DD:MM:YYYY',
        });
    });
});

Ответ 2

Если вы используете moment.js из v2.8.1 и далее, добавьте ниже код перед вызовом datetimepicker().

moment.updateLocale('en', {
  week: { dow: 1 } // Monday is the first day of the week
});

$('#DateTime').datetimepicker();

Если вы используете старую версию moment.js, выполните следующие

moment.lang('en', {
  week: { dow: 1 }
});

$('#DateTime').datetimepicker();

Ответ 3

В соответствии с параметрами Datetimepicker это невозможно. Он поддерживает только следующие свойства:

$.fn.datetimepicker.defaults = {
    pickDate: true,                 //en/disables the date picker
    pickTime: true,                 //en/disables the time picker
    useMinutes: true,               //en/disables the minutes picker
    useSeconds: true,               //en/disables the seconds picker
    useCurrent: true,               //when true, picker will set the value to the current date/time     
    minuteStepping:1,               //set the minute stepping
    minDate:`1/1/1900`,               //set a minimum date
    maxDate: ,     //set a maximum date (defaults to today +100 years)
    showToday: true,                 //shows the today indicator
    language:'en',                  //sets language locale
    defaultDate:"",                 //sets a default date, accepts js dates, strings and moment objects
    disabledDates:[],               //an array of dates that cannot be selected
    enabledDates:[],                //an array of dates that can be selected
    icons = {
        time: 'glyphicon glyphicon-time',
        date: 'glyphicon glyphicon-calendar',
        up:   'glyphicon glyphicon-chevron-up',
        down: 'glyphicon glyphicon-chevron-down'
    }
    useStrict: false,               //use "strict" when validating dates  
    sideBySide: false,              //show the date and time picker side by side
    daysOfWeekDisabled:[]          //for example use daysOfWeekDisabled: [0,6] to disable weekends 
};

Источник: http://eonasdan.github.io/bootstrap-datetimepicker/#options

Вы можете отключить выходные, если вы не хотите видеть воскресенья.

Ответ 4

Я только что сделал! В moment.js измените эту строку:

_week : {
    dow : 1, // Sunday is the first day of the week.
    doy : 6  // The week that contains Jan 1st is the first week of the year. 
},

'dow' ДОЛЖЕН БЫТЬ 1, и неделя начинается в понедельник.

Ответ 5

Вы также можете переопределить значение dow через локаль при вызове datetimepicker()

$('#myid').datetimepicker({
    format:'YYYY-MM-DD',
    locale:  moment.locale('en', {
        week: { dow: 1 }
    }),
});

Ответ 6

'locale' => [
    'firstDay' => 1
]

Ответ 7

Я наткнулся на тот же вопрос, и я использую:

И, после ответа user3928861, я нашел ответ в строке 961 момента .js следующим образом:

var defaultLocaleWeek = {
    dow : 1, // Sunday is the first day of the week.
    doy : 6  // The week that contains Jan 1st is the first week of the year.
};

Ответ 8

У Datetimepicker есть возможность установить, чтобы он соответствовал тому, где вы находитесь в мире (см. вариант локали http://eonasdan.github.io/bootstrap-datetimepicker/Options/#locale)

Вы можете вручную переопределить его

$('#DateTime').datetimepicker({
    locale: moment.local('en')
});

Ответ 9

откройте jquery.datetimepicker.js и найдите переменную " dayOfWeekStart" и установите ее 1