HighDots Forums  

Sortieren einer Tabelle mit Datumswerten

Javascript (German) Programmiersprache JavaScript. (de.comp.lang.javascript)


Discuss Sortieren einer Tabelle mit Datumswerten in the Javascript (German) forum.



Reply
 
Thread Tools Display Modes
  #1  
Old   
Sabrina Pichler
 
Posts: n/a

Default Sortieren einer Tabelle mit Datumswerten - 07-13-2004 , 10:09 AM






Hallo!

Ich habe eine Tabelle mit Werten im folgenden Format (z.B.):

28.06.2004 10:33:00
07.03.2004 21:56:00
28.06.2004 16:47:00
12.07.2004 13:21:00

usw.
Wie kann man diese Spalte mit Javascript vernünftig chronologisch sortieren?

Ergebnis sollte dann folgendes sein:

07.03.2004 21:56:00
28.06.2004 10:33:00
28.06.2004 16:47:00
12.07.2004 13:21:00

.... sollte auch absteigend funktionieren:

12.07.2004 13:21:00
28.06.2004 16:47:00
28.06.2004 10:33:00
07.03.2004 21:56:00

Weiß jemand Rat?

lg Sabrina



Reply With Quote
  #2  
Old   
Steffen Laubner
 
Posts: n/a

Default Re: Sortieren einer Tabelle mit Datumswerten - 07-13-2004 , 10:23 AM






Sabrina Pichler schrieb:

Quote:
Ich habe eine Tabelle mit Werten im folgenden Format (z.B.):
28.06.2004 10:33:00
07.03.2004 21:56:00
28.06.2004 16:47:00
12.07.2004 13:21:00
usw.
Wie kann man diese Spalte mit Javascript vernünftig chronologisch sortieren?
Du kannst versuchen den Inhalt der Tabellenzellen auszulesen, daraus
Date-Objekte erzeugen und diese dann zu sortieren. Anschliessend aus
den sortierten Date-Objekten wieder Strings erstellen und in die
Zellen zureuckschreiben.

--
http://www.geocities.com/SoHo/Bistro/9813/ - Photogallery (JavaScript)
http://www.fotocommunity.de/pc/pc.php4?mypics=1631 - more Photos


Reply With Quote
  #3  
Old   
Martin Honnen
 
Posts: n/a

Default Re: Sortieren einer Tabelle mit Datumswerten - 07-13-2004 , 10:31 AM





Sabrina Pichler wrote:


Quote:
Ich habe eine Tabelle mit Werten im folgenden Format (z.B.):

28.06.2004 10:33:00
07.03.2004 21:56:00
28.06.2004 16:47:00
12.07.2004 13:21:00

usw.
Wie kann man diese Spalte mit Javascript vernünftig chronologisch sortieren?
Hier ist Code, um Tabellen zu sortieren, da kann man seine eigene
Funktion definieren, die den Zelleninhalt zu vergleichen:
http://www.faqts.com/knowledge_base/...d/2098/fid/192
Du musst dann halt nur eine Funktion schreiben, die obige Datumswerte
parst und vergleicht.
Es sollte aber im Web optimierten Code geben, das ist mehr ein Beispiel
fuer das Konzept.

--

Martin Honnen
http://JavaScript.FAQTs.com/



Reply With Quote
  #4  
Old   
Thomas 'PointedEars' Lahn
 
Posts: n/a

Default Re: Sortieren einer Tabelle mit Datumswerten - 07-13-2004 , 10:31 AM



Sabrina Pichler wrote:
Quote:
Ich habe eine Tabelle mit Werten im folgenden Format (z.B.):

28.06.2004 10:33:00
07.03.2004 21:56:00
28.06.2004 16:47:00
12.07.2004 13:21:00

usw.
Wie kann man diese Spalte mit Javascript vernünftig chronologisch sortieren?
Eine Vorbemerkung: Aufgrund der Kompliziertheit der Sortierung
eines solchen Datumsformates gilt seit September 1997 für solche
alleinstehenden Daten DIN 5008: JJJJ-MM-TT.

Zunächst mal solltest Du also das Datumsformat konvertieren.
Entweder überhaupt oder beim Einlesen:

function DMY2YMD(s)
{
return s.replace(/^(\d+)[.-](\d+)[.-](\d+)/, "$3-$2-$1");
}

Dann lässt sich nämlich ohne Komparator arbeiten, weil dann
die lexikalische Sortierung auch der datumsbezogenen Sortierung
entspricht. Was Du nur brauchst, ist ein Array a mit den Daten:

var a = new Array();
for (var i = 0, len = ...; i < len; i++)
{
a[a.length] = ...;
}

Welches Du sortierst:

a.sort();

Quote:
Ergebnis sollte dann folgendes sein:
[...]
... sollte auch absteigend funktionieren:
[...]
Wie sehen Deine Versuche diesbezüglich aus?
Lies bitte <http://praast.de/ffq/scriptsuche/>


PointedEars


Reply With Quote
  #5  
Old   
Sven Neuhaus
 
Posts: n/a

Default Re: Sortieren einer Tabelle mit Datumswerten - 07-13-2004 , 10:46 AM



On 2004-07-13, Thomas 'PointedEars' Lahn <PointedEars (AT) nurfuerspam (DOT) de> wrote:
Quote:
Eine Vorbemerkung: Aufgrund der Kompliziertheit der Sortierung
eines solchen Datumsformates gilt seit September 1997 für solche
alleinstehenden Daten DIN 5008: JJJJ-MM-TT.
DIN 5008 laesst u.a. sowohl JJJJ-MM-TT als auch TT.MM.JJJJ zu.

-Sven


Reply With Quote
  #6  
Old   
Thomas 'PointedEars' Lahn
 
Posts: n/a

Default Re: Sortieren einer Tabelle mit Datumswerten - 07-13-2004 , 10:50 AM



Sven Neuhaus wrote:
Quote:
On 2004-07-13, Thomas 'PointedEars' Lahn <PointedEars (AT) nurfuerspam (DOT) de> wrote:
Eine Vorbemerkung: Aufgrund der Kompliziertheit der Sortierung
eines solchen Datumsformates gilt seit September 1997 für solche
alleinstehenden Daten DIN 5008: JJJJ-MM-TT.
^^^^^^^^^^^^^^^
DIN 5008 laesst u.a. sowohl JJJJ-MM-TT als auch TT.MM.JJJJ zu.
Ja: <http://www.rz.fh-ulm.de/projects/onhelp/2_offz2.htm>


HTH

PointedEars


Reply With Quote
  #7  
Old   
Dietmar Meier
 
Posts: n/a

Default Re: Sortieren einer Tabelle mit Datumswerten - 07-13-2004 , 10:52 AM



Thomas 'PointedEars' Lahn <PointedEars (AT) nurfuerspam (DOT) de> typed:

Quote:
Eine Vorbemerkung: Aufgrund der Kompliziertheit der Sortierung
eines solchen Datumsformates gilt seit September 1997 für solche
alleinstehenden Daten DIN 5008: JJJJ-MM-TT.
oder "TT.MM.JJJJ" oder "TT. Monat JJJJ" oder "TT. Mon. JJJJ",
siehe http://www.tastschreiben.de/p0400070.htm

Das von Dir genannte Format ist für Berechnungen hilfreich,
für die Benutzerschnittstelle jedoch ungeeignet (man usability).

ciao, dhgm



Reply With Quote
  #8  
Old   
Thomas 'PointedEars' Lahn
 
Posts: n/a

Default Re: Sortieren einer Tabelle mit Datumswerten - 07-13-2004 , 10:58 AM



Dietmar Meier wrote:
Quote:
Thomas 'PointedEars' Lahn <PointedEars (AT) nurfuerspam (DOT) de> typed:
Eine Vorbemerkung: Aufgrund der Kompliziertheit der Sortierung
eines solchen Datumsformates gilt seit September 1997 für solche
alleinstehenden Daten DIN 5008: JJJJ-MM-TT.
^^^^^^^^^^^^^^^

oder "TT.MM.JJJJ" oder "TT. Monat JJJJ" oder "TT. Mon. JJJJ",
siehe http://www.tastschreiben.de/p0400070.htm
<http://de.wikipedia.org/wiki/Datumsformat#DIN_5008>

Quote:
Das von Dir genannte Format ist für Berechnungen hilfreich,
für die Benutzerschnittstelle jedoch ungeeignet (man usability).
Unfug.


PointedEars


Reply With Quote
  #9  
Old   
Sabrina Pichler
 
Posts: n/a

Default Re: Sortieren einer Tabelle mit Datumswerten - 07-13-2004 , 11:02 AM



Hallo Steffen!

Steffen Laubner schrieb...
Quote:
Du kannst versuchen den Inhalt der Tabellenzellen auszulesen, daraus
Date-Objekte erzeugen und diese dann zu sortieren. Anschliessend aus
den sortierten Date-Objekten wieder Strings erstellen und in die
Zellen zureuckschreiben.
Danke für den Tipp! Hat funktioniert!

lg Sabrina




Reply With Quote
  #10  
Old   
Dietmar Meier
 
Posts: n/a

Default Re: Sortieren einer Tabelle mit Datumswerten - 07-13-2004 , 11:07 AM



Thomas 'PointedEars' Lahn <PointedEars (AT) nurfuerspam (DOT) de> typed:

Quote:
Eine Vorbemerkung: Aufgrund der Kompliziertheit der Sortierung
eines solchen Datumsformates gilt seit September 1997 für solche
alleinstehenden Daten DIN 5008: JJJJ-MM-TT.

oder "TT.MM.JJJJ" oder "TT. Monat JJJJ" oder "TT. Mon. JJJJ",
siehe http://www.tastschreiben.de/p0400070.htm

http://de.wikipedia.org/wiki/Datumsformat#DIN_5008
Und nun? Da steht, was ich schrieb. Hint: ab 2001 gab's da eine
Änderung. Zudem: Diese DIN bezieht sich eigentlich einzig und
allein auf Textverarbeitung ...

Quote:
Das von Dir genannte Format ist für Berechnungen hilfreich,
für die Benutzerschnittstelle jedoch ungeeignet (man usability).

Unfug.
Nö. Und nun?

ciao, dhgm



Reply With Quote
Reply




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.4
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.