J'utilise Bootstrap 3 Datetimepicker 3.0.0 https://www.nuget.org/packages/Bootstrap.v3.Datetimepicker/ dans mon projet MVC 5 pour plusieurs raisons.
Toute idée de comment compenser le début de semaine pour qu'il commence à partir de lundi. L'étiquette de langue ne fonctionne pas non plus.
$(function () {
$('#PickupTime').datetimepicker({
weekStart: 1
});
});
Cela ne fonctionne pas car ce n'est pas le même bootstrap-datapicker.js
Au lieu d'utiliser moment.js, j'ai utilisé moment-with-langs.js (je suppose qu'il est venu avec le package par défaut ASP.NET MVC 5).
En appelant:
<script type="text/javascript">
$('#DateTime').datetimepicker({
language: "hr"
});
</script>
les choses fonctionnent, enfin le calendrier commence à partir de lundi.
UPDATE: Encore mieux, ajoutez la clé à web.config
<appSettings>
<add key="Culture" value="hr" />
</appSettings>
et alors
$(document).ready(function () {
$(document).on('focus', '#Date', function () {
$(this).datetimepicker({
locale: '@System.Configuration.ConfigurationManager.AppSettings["Culture"]',
format: 'DD:MM:YYYY',
});
});
});
Si vous utilisez moment.js à partir de la version 2.8.1, ajoutez le code ci-dessous avant d'appeler datetimepicker ().
moment.updateLocale('en', {
week: { dow: 1 } // Monday is the first day of the week
});
$('#DateTime').datetimepicker();
Si vous utilisez une ancienne version de moment.js, procédez comme suit:
moment.lang('en', {
week: { dow: 1 }
});
$('#DateTime').datetimepicker();
Vous pouvez également remplacer la valeur dow via les paramètres régionaux lorsque vous appelez datetimepicker ()
$('#myid').datetimepicker({
format:'YYYY-MM-DD',
locale: moment.locale('en', {
week: { dow: 1 }
}),
});
Selon les options de Datetimepicker, cela n’est pas possible. Il ne supporte que les propriétés suivantes:
$.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
};
Source: http://eonasdan.github.io/bootstrap-datetimepicker/#options
Vous pouvez désactiver le week-end si vous ne voulez pas voir le dimanche.
Je viens de faire! Dans moment.js change cette ligne:
_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' DOIT ÊTRE 1 et la semaine commence le lundi.
Je suis tombé sur la même question, et j'utilise:
Et, après la réponse de user3928861 j'ai trouvé la réponse à la ligne 961 de moment.js comme suit:
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.
};
Datetimepicker a une option pour la faire correspondre où que vous soyez dans le monde (voir l'option locale http://eonasdan.github.io/bootstrap-datetimepicker/Options/#locale )
Vous pouvez le remplacer manuellement
$('#DateTime').datetimepicker({
locale: moment.local('en')
});
'locale' => [
'firstDay' => 1
]