8

Jest kilka powodów, dla których używam Bootstrap 3 Datetimepicker 3.0.0 https://www.nuget.org/packages/Bootstrap.v3.Datetimepicker/ w moim projekcie MVC 5.Bootstrap 3 Datetimepicker 3.0.0 - tydzień zaczyna się od poniedziałku

Każdy pomysł, jak przesunąć tydzień rozpoczęcia, więc zaczyna się od poniedziałku. Tag języka również nie działa.

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

To nie działa, ponieważ nie jest to samo bootstrap-datapicker.js

Odpowiedz

3

Zamiast używać pliku moment.js użyłem chwili-z-langs.js (domyślam się, że przyszedł z domyślnym pakietem ASP.NET MVC 5).

pod numerem:

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

rzecz działa, wreszcie kalendarz rozpoczyna się od poniedziałku.

UPDATE: Jeszcze lepiej, dodać klucz do web.config

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

a następnie

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

Według opcji DateTimePicker nie jest to możliwe. Obsługuje tylko następujące właściwości:

$.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

Można wyłączyć weekend, jeśli nie chcesz zobaczyć w niedzielę.

+0

Ale nadal lewa kolumna jest niedziela, a ludzie oczekują poniedziałek – HerGiz

+0

W bootstrap-datapicker.js zrównoważyłem nazwy, ale tylko nazwy ulegają zmianie, a nie same daty, więc cały kalendarz nie jest poprawny. Eaven treid changing w chwili.js, ale to samo. – HerGiz

+0

Jakiekolwiek sugestie dotyczące zamiany? – HerGiz

-1

otwarte jquery.datetimepicker.js i znajdź zmienna "dayOfWeekStart" i ustaw go na

+2

OP odnosiło się do [Eonasdan Bootstrap-Datepicker] (http://eonasdan.github.io/bootstrap-datetimepicker/). Nie ma to nic wspólnego z datepicker jQuery. –

+0

Nic nie ma do czynienia z pytaniem OP. – FrenkyB

4

Właśnie skończyłem! W chwile.js zmień tę linię:

_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" MUSI BYĆ 1, a tydzień zaczyna się od poniedziałku.

23

Jeśli korzystasz z pliku moment.js od wersji 2.8.1, dodaj poniższy kod przed wywołaniem datetimepicker().

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

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

Jeśli używasz starej wersji moment.js, wykonaj następujące czynności

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

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

natknąłem się na to samo pytanie, a ja używam:

Po otrzymaniu odpowiedzi od user3928861 znalazłem odpowiedź na linii 961 chwili.js następująco:

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. 
}; 
0

You może także przesłonić wartość dow za pośrednictwem ustawień narodowych podczas wywoływania datetimepicker()

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