Datum formatieren
Mitropolis
- javascript
Hallo,
nach erfolglosem Bücher wälzen muss ich Euch doch mal um Rat fragen.
Ziel ist es ein Datumfeld, welches vom Anwender leider immer wieder falsch (sowohl in der Formatierung z.B. 30.8.2005) als auch in der Logik (z.B. 34.12.2001) gefüllt wird, soll über ein Kalenderobjekt ( zum anklicken gefüllt werden. Zielformat: TT.MM.JJJJ
Das ActiveX-Object "Calendar 9.0" erzeugt als Value ein Datum im internationalen Format wie z.B.:
Wed Jul 7 00:00:00 UTC+0200 2004
Kennt Ihr eine bessere Möglichkeit, wie ich das Datum per javascript entweder direkt ins deutsche Format ##.##.#### (Nur Datum, Uhrzeit interessiert nicht) umwandeln kann oder es ersatzweise zumindest schaffe, die Ausgabe mit 2-stelligen Tagen und den Monat an Stelle von Jul als "07" ausgeben lassen kann?
Danke
Gruß
hi,
Kennt Ihr eine bessere Möglichkeit, wie ich das Datum per javascript entweder direkt ins deutsche Format ##.##.#### (Nur Datum, Uhrzeit interessiert nicht) umwandeln kann oder es ersatzweise zumindest schaffe, die Ausgabe mit 2-stelligen Tagen und den Monat an Stelle von Jul als "07" ausgeben lassen kann?
du solltest dich mit dem Date()-objekt von JS befassen,
http://de.selfhtml.org/javascript/objekte/date.htm
gruß,
wahsaga
Hallo,
ok, mit Date-Objekt beschäftigt, jetzt muss ich mit der Typumwandlung kämpfen. Wäre Euch um Hilfe im konkreten Fall sehr dankbar. Das hilft mir wahrscheinlich eher die Verständniskurve zu bekommen. Alle Beispiele beruhen leider auf der vorherigen Erzeugung des aktuellen Date-Objektes bzw. einem Date String.
Ausgangsbasis ist nach wie vor der Wert meines Kalenderobjektes:
Zeile 1: Datum = document.KalenderVon.datumvon.value;
Eine Überprüfung mit alert(typeof Datum) und Ausgabe mit alert(Datum) bringen den Typ "date" und die Ausgabe "Wed Jul 7 00:00:00 UTC+0200 2004". Soweit ok.
Um jetzt aber alles als String weiter zu verarbeiten, wollte ich Datum in einen String konvertieren:
Zeile 2: DatumStr = Datum.toString();
Zeile 3: alert(DatumStr);
Jetzt erfahre ich in der Fehlermeldung, dass Datum kein Objekt ist, also folgendes probiert:
Zeile 2: DatumStr = Datum.getMonth();
Zeile 3: alert(DatumStr);
WIeder das gleiche, ich weiß nicht mehr weiter. Bitte konkrete Problemlösung wenn möglich, dass hilft dem Verständnis mehr als nur Verweise auf Kapitel im SELFHTML.
Danke
Gruß
hallo,
Ausgangsbasis ist nach wie vor der Wert meines Kalenderobjektes
Du meinst das hier:
Das ActiveX-Object "Calendar 9.0" erzeugt als Value ein Datum im internationalen Format
Ich fürchte, da bist du einem grandiosen Mißverständnis aufgesessen, weil du das Topic deines Threads "Javascript" genannt hast, aber nach ActiveX suchst. wahsaga hat dir das für "Javascript" zuständige Kapitel in SELFHTML bereits korrekt verlinkt und Gunnar gibt dir als "noch einfacher" ebenfalls einen Javascript-Link an.
Die Frage ist, ob du nun auf ActiveX bestehst oder auf Javascript oder eventuell auf eine serverseitige Technik ausweichen möchtest. Dazu mußt du dich erst entscheiden.
Grüße aus Berlin
Christoph S.
Hallo Christoph,
mir geht es schon speziell darum, wie ich das Datumsobjekt "Wed Jul 7 00:00:00 UTC+0200 2004" mit Javascript in eine Zeichenkette umwandeln, zerstückeln und dann per Javascript wieder an das Textfeld zurückgeben kann.
Andernfalls wäre ich auch für jede andere ANregung offen, wie ich einen eleganten Kalender erzeuge, der mir letztlich das Input-Feld mit einem korrekt formattiertem Datum füllt. Ich bestehe nicht auf ActiveX oder andere Techniken, hauptsache das Datum ist einfach wählbar und im Feld steht letztlich DD.MM.JJJJ. Mehr brauche ich nicht.
Gruß
das Datumsobjekt "Wed Jul 7 00:00:00 UTC+0200 2004" mit Javascript in eine Zeichenkette umwandeln
Schau dir nochmal http://de.selfhtml.org/javascript/objekte/date.htm#allgemeines an. Und das Beispiel unter http://de.selfhtml.org/javascript/objekte/date.htm#set_date, und zwar den Anfang davon, bis zum ersten Auftreten von alert(Tag).
Anstelle von alert() kannste deinen Ausgabestring in dem von dir gewünschten Format zusammenbasteln. Nur beim Monat aufpassen und 1 dazuzählen.
(Wer immer auf die bescheuerte Idee gekommen ist, die Monate bei 0 anfangen zu zählen, sollte sich ganz dicht neben die Zwei-Frames-mit-einem-Klick-ändern-Frager stellen.)
Gunnar
ein Datum im internationalen Format wie z.B.:
Wed Jul 7 00:00:00 UTC+0200 2004
Nein, im internationalen Datumsformat (ISO 8601) müsste dies 2004-07-07T00:00:00+02:00 heißen.http://de.wikipedia.org/wiki/Datumsformat#ISO_8601_und_EN_28_601
Kennt Ihr eine bessere Möglichkeit, wie ich das Datum per javascript entweder direkt ins deutsche Format ##.##.#### (Nur Datum, Uhrzeit interessiert nicht) umwandeln kann
Daas geht mit String-Methoden und regulären Ausdrücken.
http://de.selfhtml.org/javascript/objekte/string.htm
http://de.selfhtml.org/javascript/objekte/regexp.htm
Gruß,
Gunnar
Nein, im internationalen Datumsformat (ISO 8601) müsste dies 2004-07-07T00:00:00+02:00 heißen
... wobei die "-" und ":" auch entfallen können.
Daas geht mit String-Methoden und regulären Ausdrücken.
... oder noch einfacher wie wahsaga meinte:
http://de.selfhtml.org/javascript/objekte/date.htm#parse
Gunnar