English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
在bootstrap中的时间选择器有两种:dateTimePicker和dateRangePicker
1、dateTimePicker似乎是官方嫡插件:
需要的文件:
<link rel="stylesheet" href="css/bootstrap-datetimepicker.min.css"> <script src="js/bootstrap-datetimepicker.min.js"></script> <script src="js/bootstrap-datetimepicker.zh-CN.js"></script> <script src="js/moment.min.js"></script>
API直接参考:http://www.bootcss.com/p/bootstrap-datetimepicker/
2、dateRangePicker似乎是第三方插件,它最终的是可以实现时间段的选择。
需要的文件:
<link rel="stylesheet" href="css/daterangepicker-bs3.css"> <script src="js/daterangepicker.js"></script> <script src="js/moment.min.js"></script>
html代码:
<div class="container-fluid"> <div class="row-fluid" style="margin-top:5px"> <div class="span4"> <div class="control-group"> <label class="control-label"> 日期: </label> <div class="controls"> <div id="reportrange" class="pull-links dateRange" style="width:350px"> <i class="glyphicon glyphicon-Kalender fa fa-Kalender"></i> <span id="searchDateRange"></span> <b class="caret"></b> </div> </div> </div> </div> </div> </div>
js代码:
<script type="text/javascript"> $(document).ready(function (){ //Zeit-Plugin $('#reportrange span').html(moment().subtract('hours', 1).format('YYYY-MM-DD HH:mm:ss') + ' - ' + -MM-DD HH:mm:ss')); $('#reportrange').daterangepicker( { // startDate: moment().startOf('day'), //endDate: moment(), //minDate: '01/01/2012', //Minimale Zeit maxDate : moment(), //Maximale Zeit days : 30 }, //Maximale Intervalle zwischen Anfangs- und Endzeit showDropdowns : true, showWeekNumbers : false, //Ob die Woche angezeigt wird timePicker : true, // timePickerIncrement : 60, //Zeitsteigerung, Einheit in Minuten timePicker12Hour : false, //Verwendung12Zeit in 12-Stunden-Format anzuzeigen ranges : { //Letzte1Stunde': [moment().subtract('hours',1), moment()], Heute': [moment().startOf('day'), moment()], Gestern': [moment().subtract('days', 1).startOf('day'), moment().subtract('days', 1).endOf('day')], Letzte7Tag': [moment().subtract('days', 6), moment()], Letzte30 Tag': [moment().subtract('days', 29), moment()] }, opens : 'right', //Datumswahlbox-Position der Auswahl buttonClasses : [ 'btn btn-standard' ]} applyClass : 'btn-klein btn-primär blau', cancelClass : 'btn-klein', format : 'YYYY-MM-DD HH:mm:ss', //Anzeigeformat der Daten im from und to der Steuereinheit separator : ' bis ', locale : { applyLabel : 'Bestätigen', cancelLabel : 'Abbrechen', fromLabel : 'Anfangszeit', toLabel : 'Endzeit', customRangeLabel : 'benutzerdefiniert', daysOfWeek : ['Sonntag', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag'], monthNames : ['Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', ['Juli', 'August', 'September', 'Oktober', 'November', 'Dezember'], firstDay : 1 } }, function(start, end, label) {//formatierte Datumsanzeigebox $('#reportrange span').html(start.format('YYYY-MM-DD HH:mm:ss') + ' - ' + end.format('YYYY-MM-DD HH:mm:ss')); }); //Datumsmenüoptionen festlegen --Anfang-- /* var dateOption ; if("${riqi}"=='day') { dateOption = "heute"; } dateOption = " gestern"; } dateOption ="letztes7Tag"; } dateOption ="letztes30 Tag"; }else if("${riqi}"=='year'){ dateOption ="letztes Jahr"; }else{ dateOption = "benutzerdefiniert"; } $(".daterangepicker").find("li").each(function (){ if($this.hasClass("active")){ $this.removeClass("active"); } if(dateOption==$(this).html()){}} $(this).addClass("active"); } });*/ //Datumsmenüoptionen festlegen --Ende-- }) </script>
但是这里的月份汉化存在问题,建议需要去moment.min.js文件里面去修改。
也可以在后期汉化,比较完整的代码:
var table; $(function () { table = $('#example').DataTable({ "ajax": { "url":"/beispiel/ressourcen/server_processing_customCUrl.php", "data": function ( d ) { //Fügen Sie zusätzliche Parameter hinzu, die an den Server gesendet werden d.extra_search = $('#reportrange span').html(); }}, "processing": true, "serverSide": true, "language": { "sProcessing": "Verarbeitet...", "sLengthMenu": "Zeige _MENU_ Einträge", "sZeroRecords": "Keine übereinstimmenden Ergebnisse", "sInfo": "Zeige _START_ bis _END_ von _TOTAL_ Einträgen", "sInfoEmpty": "Zeige 0 bis 0 von 0 Einträgen", "sInfoFiltered": "(von _MAX_ Einträgen gefiltert)", "sInfoPostFix": "", "sSearch": "Suchen:", "sUrl": "", "sEmptyTable": "Keine Daten in der Tabelle", "sLoadingRecords": "Lädt...", "sInfoThousands": ",", "oPaginate": { "sFirst": "Erste Seite", "sPrevious": "Vorherige Seite", "sNext": "Nächste Seite", "sLast": "Letzte Seite" }, "oAria": { "sSortAscending": ": Sortieren Sie diese Spalte in aufsteigender Reihenfolge", "sSortDescending": ": Sortieren Sie diese Spalte in absteigender Reihenfolge" } }, "dom": "<'row'<'span9'l<'#mytoolbox'>><'span3'f>r>"+ "t"+ "<'row'<'span6'i><'span6'p>>" , initComplete:initComplete }); }); /** * Methode, die nach dem Laden und Rendern des Tables ausgeführt wird * @param data */ function initComplete(data){ var dataPlugin = '<div id="reportrange" class="pull-links dateRange" style="width:400px; margin-left: 10px"> '+ Datum: <i class="glyphicon glyphicon-Kalender fa fa-Kalender"></i> '+ <span id="searchDateRange"></span> '+ <b class="caret"></b></div> '; $('#mytoolbox').append(dataPlugin); //Zeit-Plugin $('#reportrange span').html(moment().subtract('hours', 1).format('YYYY-MM-DD HH:mm:ss') + ' - ' + -MM-DD HH:mm:ss')); $('#reportrange').daterangepicker( { // startDate: moment().startOf('day'), //endDate: moment(), //minDate: '01/01/2012', //Minimale Zeit maxDate : moment(), //Maximale Zeit days : 30 }, //Maximale Intervalle zwischen Anfangs- und Endzeit showDropdowns : true, showWeekNumbers : false, //Ob die Woche angezeigt wird timePicker : true, // timePickerIncrement : 60, //Zeitsteigerung, Einheit in Minuten timePicker12Hour : false, //Verwendung12Zeit in 12-Stunden-Format anzuzeigen ranges : { //Letzte1Stunde': [moment().subtract('hours',1), moment()], Heute': [moment().startOf('day'), moment()], Gestern': [moment().subtract('days', 1).startOf('day'), moment().subtract('days', 1).endOf('day')], Letzte7Tag': [moment().subtract('days', 6), moment()], Letzte30 Tag': [moment().subtract('days', 29), moment()] }, opens : 'right', //Datumswahlbox-Position der Auswahl buttonClasses : [ 'btn btn-standard' ]} applyClass : 'btn-klein btn-primär blau', cancelClass : 'btn-klein', format : 'YYYY-MM-DD HH:mm:ss', //Anzeigeformat der Daten im from und to der Steuereinheit separator : ' bis ', locale : { applyLabel : 'Bestätigen', cancelLabel : 'Abbrechen', fromLabel : 'Anfangszeit', toLabel : 'Endzeit', customRangeLabel : 'benutzerdefiniert', daysOfWeek : ['Sonntag', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag'], monthNames : ['Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', ['Juli', 'August', 'September', 'Oktober', 'November', 'Dezember'], firstDay : 1 } }, function(start, end, label) {//formatierte Datumsanzeigebox $('#reportrange span').html(start.format('YYYY-MM-DD HH:mm:ss') + ' - ' + end.format('YYYY-MM-DD HH:mm:ss')); }); //Datumsmenüoptionen festlegen --Anfang-- var dateOption ; if("${riqi}"=='day') { dateOption = "heute"; } dateOption = " gestern"; } dateOption ="letztes7Tag"; } dateOption ="letztes30 Tag"; }else if("${riqi}"=='year'){ dateOption ="letztes Jahr"; }else{ dateOption = "benutzerdefiniert"; } $(".daterangepicker").find("li").each(function (){ if($this.hasClass("active")){ $this.removeClass("active"); } if(dateOption==$(this).html()){}} $(this).addClass("active"); } }); //Datumsmenüoptionen festlegen --Ende-- //Methode zum Neuladen, wenn das Datum ausgewählt wird $("#reportrange").on('apply.daterangepicker',function(){ //Methode zum Neuladen der Daten, wenn das Datum ausgewählt wird table.ajax.reload(); //DT-Anfrageparameter abrufen var args = table.ajax.params(); console.log("Der Wert des zusätzlichen Parameters extra_search, der an das Backend weitergegeben wird, beträgt: "+args.extra_search); }); function getParam(url) { var data = decodeURI(url).split("?];1]; var param = {}; var strs = data.split("&"); for(var i = 0; i<strs.length; i++{ param[strs[i].split("=")[0]] = strs[i].split("=")[1]; } return param; } }
Glückliches kleines Ei:
Wenn Sie nach Informationen zu daterangepicker suchen, finden Sie eine recht offizielle Website: http://www.daterangepicker.com/komplett, aber die tatsächliche Benutzerfreundlichkeit ist nicht bequem; daher empfehle ich daterangepicker-bs3.
Wenn Sie tiefgründiger lernen möchten, können Sie hier klicken, um zu lernen und zwei spannende Themen hinzufügen: Bootstrap Lernanleitung Bootstrap praktische Anleitung
Das ist der Inhalt dieses Artikels, ich hoffe, er hilft Ihnen bei Ihrem Lernen und ich hoffe, dass Sie die Anleitung weiterempfehlen.