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