Soeben habe ich für einen Kumpel einen Parser für den jQuery Tablesorter geschrieben, welcher das deutsche Datumsformat im Format dd.mm.yyyy verarbeiten kann. Der Parser an sich ist relativ einfach, da man einfach das Datum in einen Timestamp umwandelt und dann sortiert.
Erstmal nur der Sorter:
CODE:
-
$.tablesorter.addParser({
-
id: 'germandate',
-
is: function(s) {
-
return false;
-
},
-
format: function(s) {
-
var a = s.split('.');
-
a[1] = a[1].replace(/^[0]+/g,"");
-
return new Date(a.reverse().join("/")).getTime();
-
},
-
type: 'numeric'
-
});
Das komplette Beispiel sieht dann so aus:
CODE:
-
<html>
-
<head>
-
<script type="text/javascript" src="jquery-latest.js"></script>
-
<script type="text/javascript" src="jquery.tablesorter.js"></script>
-
<script type="text/javascript">
-
$(document).ready(function(){
-
$.tablesorter.addParser({
-
id: 'germandate',
-
is: function(s) {
-
return false;
-
},
-
format: function(s) {
-
var a = s.split('.');
-
a[1] = a[1].replace(/^[0]+/g,"");
-
return new Date(a.reverse().join("/")).getTime();
-
},
-
type: 'numeric'
-
});
-
$("#example").tablesorter({
-
headers: { 1: { sorter:'germandate' }}
-
});
-
});
-
</script>
-
</head>
-
<body>
-
<table id="example" class="tablesorter" border="0" cellpadding="0" cellspacing="1">
-
<thead>
-
<tr>
-
<th class="header">Event</th>
-
<th class="header">Datum</th>
-
</tr>
-
</thead>
-
<tbody>
-
<tr>
-
<td>Event 1</td>
-
<td>06.06.2000</td>
-
</tr>
-
<tr>
-
<td>Event 2</td>
-
<td>06.06.1992</td>
-
</tr>
-
<tr>
-
<td>Event 3</td>
-
<td>05.09.2009</td>
-
</tr>
-
<tr>
-
<td>Event 4</td>
-
<td>01.04.2002</td>
-
</tr>
-
<tr>
-
<td>Event 5</td>
-
<td>20.05.2014</td>
-
</tr>
-
<tr>
-
<td>Event 6</td>
-
<td>30.01.2001</td>
-
</tr>
-
</tbody>
-
</table>
-
</body>
-
</html>
Und das Beispiel nochmal gezeigt:
| Event | Datum |
|---|---|
| Event 1 | 06.06.2000 |
| Event 2 | 06.06.1992 |
| Event 3 | 05.09.2009 |
| Event 4 | 01.04.2002 |
| Event 5 | 20.05.2014 |
| Event 6 | 30.01.2001 |
So einfach is dat











PERFEKT!! Genau das habe ich gerade gesucht. thanks.
GENAU das hab ich gerade gesucht….
eingebaut… getestet… funktioniert…
auch von mir viele dank
hat mir viel zeit gespart.
Und auch meiner einer bedankt sich!
(Aber was ist das denn bitte für eine Werbung “Nehmen sie der Todestest”? ;D)
Für die Werbung kann ich leider nix, das ist automatisch. Trotzdem bedenklich
Super. Genau was ich gebraucht habe um ein echt nervendes Problem zu lösen. Vielen Dank!
So einfach ist es also, wenn man weiß, wie es geht.
Hatte vorher erfolglos diverse Dinge ausprobiert.
Meinen herzlichen Dank!!!!!
Vielen Dank auch von mir. Mit dem Datumsformat 04.09.09 hat es irgendwie nicht funktioniert, aber mit 04.09.2009 dann bestens.
Das Problem ist, dass ein neues Datumsobjekt erzeugt wird, welches nicht weiß, dass du das Jahr 2009 meinst. In diese Falle könnte man das Datum vor dem “return” korrigieren und dann erst berechnen lassen.
FETT MERCY
Super das du das öffentlich gemacht hast. Danke
Sehr gut, genau das habe ich gesucht, erspart mir einiges an “lästiger” Arbeit
Vielen Dank Uli.
Hi Uli,
vielen Dank für den Parser. Schnell rauskopieren anstatt selber zu schreiben geht einfach schneller.
Klasse, dass es Leute gibt, die so etwas veröffentlichen.
Weiter so + viele Grüße.
VG, Magnus
Danke, das ersparte mir gerade Stunden!
Danke!! genau was ich brauchte