Sortierung nach Datum in DataTables falsch

This commit is contained in:
aschwarz 2023-05-25 10:02:20 +02:00
parent ec35e4f140
commit a7427d7458
2 changed files with 52 additions and 11 deletions

View File

@ -0,0 +1,48 @@
/**
* This plug-in will provide date sorting for the "dd/mm/YYYY hh:ii:ss"
* formatting, which is common in France and other European countries. It can
* also be quickly adapted for other formatting as required. Furthermore, this
* date sorting plug-in allows for empty values in the column.
*
* Please note that this plug-in is **deprecated*. The
* [datetime](//datatables.net/blog/2014-12-18) plug-in provides enhanced
* functionality and flexibility.
*
* @name Date (dd/mm/YYYY hh:ii:ss)
* @summary Sort date / time in the format `dd/mm/YYYY hh:ii:ss`
* @author [Ronan Guilloux](http://coolforest.net/)
* @deprecated
*
* @example
* $('#example').dataTable( {
* columnDefs: [
* { type: 'date-euro', targets: 0 }
* ]
* } );
*/
jQuery.extend( jQuery.fn.dataTableExt.oSort, {
"date-euro-pre": function ( a ) {
var x;
if ( $.trim(a) !== '' ) {
var frDatea = $.trim(a).split(' ');
var frTimea = (undefined != frDatea[1]) ? frDatea[1].split(':') : [00,00,00];
var frDatea2 = frDatea[0].split('/');
x = (frDatea2[2] + frDatea2[1] + frDatea2[0] + frTimea[0] + frTimea[1] + ((undefined != frTimea[2]) ? frTimea[2] : 0)) * 1;
}
else {
x = Infinity;
}
return x;
},
"date-euro-asc": function ( a, b ) {
return a - b;
},
"date-euro-desc": function ( a, b ) {
return b - a;
}
} );

View File

@ -22,6 +22,8 @@
<script type="text/javascript" src="../bootstrap/data-table/jquery.dataTables.min.js"></script>
<script type="text/javascript" src="../bootstrap/data-table/dataTables.rowReorder.min.js"></script>
<script type="text/javascript" src="../bootstrap/data-table/dataTables.bootstrap5.min.js"></script>
<script type="text/javascript" src="../bootstrap/data-table/date-euro.js"></script>
<!-- icons in nav-->
<script src="js/all.js" crossorigin="anonymous"></script>
<link rel="stylesheet" href="../bootstrap/node_modules/bootstrap-icons/font/bootstrap-icons.css">
@ -294,17 +296,8 @@
var table = new DataTable('#myTable', {
rowReorder: true,
pageLength: 10,
"order": [],
"fnCreatedRow": function( nRow, aData, iDataIndex ) {
var dateFull = aData.date;
var dateFullItems = dateFull.split(' ');
var dateDatum = dateFullItems[0];
var dateDatumItems = dateDatum.split('.');
var dateTime = dateFullItems[1];
var dateFormat = dateDatumItems[2] + '-' + dateDatumItems[1] + '-' + dateDatumItems[0] + 'T' + dateTime + ':00Z';
$(nRow).find('td:nth-of-type(2)').attr('data-sort', dateFormat);
},
order: [[1, 'desc']],
columnDefs: [{ type: "date-euro", targets: 1 }],
language: {
url: '//cdn.datatables.net/plug-ins/1.13.4/i18n/de-DE.json',
search: "",