English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Analyse von Beispielnutzung von Bootstrap-Datetimepicker und Daterangepicker

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

Empfohlene Artikel