Timestamps: Was bewirkt dieser Code?
Ralph
- javascript
Hallo Forum,
könnt ihr mir sagen, was genau folgender Code bewirkt?
var dateTime = new Date();
dateTime.setTime(givenTimestamp);
"givenTimestamp" sei die aktuelle Uhrzeit. Was sieht dann ein Betrachter bei folgender Anweisung?
alert(dateTime.toLocaleString());
http://selfhtml.teamone.de/javascript/objekte/date.htm#to_locale_string sagt dazu: "Die zurückgegebene Zeichenkette berücksichtigt die lokale Uhrzeit."
Das dort angegebene Beispiel ist jedoch verwirrend. Ist nur das Format der Uhrzeit gemeint, oder die tatsaechliche Ortszeit?
Hoffe, die Frage ist klar verständlich!
Danke, Ralph
Hallo Ralph,
var dateTime = new Date();
Hier erzeugst Du eine neue Instanz des Date-Objekts. Dieses neue Date-Objekt erhält bei seiner Erzeugung den aktuellen Timestamp, den Du dir mit dateTime.getTime() ausgeben lassen kannst.
dateTime.setTime(givenTimestamp);
Die Methode setTime(n) erwartet als Argument eine Zahl, nämlich die Zeit, die seit dem 1.1.1970 in Millisekunden vergangen ist.
alert(dateTime.toLocaleString());
Die Methode toLocaleString() wandelt den Millisekunbde-Wert des Date-Objekts in das übliche lokale Datumsformat. Hierbei kommt es darauf an, welches Datumsformat auf Deinem Betriebssystem eingestellt ist.
;o) bluntburn
Hallo,
Die Methode toLocaleString() wandelt den Millisekunbde-Wert des Date-Objekts in das übliche lokale Datumsformat. Hierbei kommt es darauf an, welches Datumsformat auf Deinem Betriebssystem eingestellt ist.
Was denn nun, nur lokales Format, oder auch lokaler Inhalt?
Mal angenommen, mein Timestamp repraesentiert folgendes (aktuelle) Datum: "28. April 2004, 14:03"
Was sieht dann der Betrachter bei folgendem Code?
dateTime.setTime(givenTimestamp);
alert(dateTime.toLocaleString());
Sieht er in Deutschland mit einem deutschen Rechner
"Mittwoch, 28. April 2004 14:03:00"
oder
"Mittwoch, 28. April 2004 15:03:00"
Und in NewYork mit einem US-amerikanischen Rechner, sieht er dann
"4/28/04 2:03 pm"
oder
"4/28/04 8:03 am"
Jetzt klarer, was ich meine?
Danke, Ralph
Hallo,
Was denn nun, nur lokales Format, oder auch lokaler Inhalt?
Lokales Format mit lokalem Inhalt.
Aber vielleicht schaust Du Dir nochmal [link:http://selfhtml.teamone.de/javascript/objekte/date.htm} etwas genauer an. Besonders UTC bzw. GMT und TimezoneOffset dürften Dich interessieren...
Mich interessiert noch, woher Du den Timestamp bekommst. Geht es um einen festen Timestamp, mit dem Du das Date-Objekt füllst oder...?
;o) blunmtburn
Hi blunmtburn,
Mich interessiert noch, woher Du den Timestamp bekommst. Geht es um einen festen Timestamp, mit dem Du das Date-Objekt füllst oder...?
der Timestamp kommt aus der Datenbank und repraesentiert MEZ. Das heißt im Grunde, ich muss ihn auf Greenwich umrechnen, anschliessend funzt toLocaleString(). Oder?
Gibt's nen besseren Weg?
Ich brauche das, weil meine Seite international genutzt wird, einem Besucher in Brasilien aber natuerlich für bestimmte Ereignisse seine eigene Zeit gezeigt werden soll.
Gruss, Ralph
Hi Ralph,
der Timestamp kommt aus der Datenbank und repraesentiert MEZ. Das heißt im Grunde, ich muss ihn auf Greenwich umrechnen, anschliessend funzt toLocaleString(). Oder?
Gibt's nen besseren Weg?
Wenn Deine Seiten international sind, sollte der Timestamp in der Datenbank GMT sein! Dann müsstest nur noch den TimezoneOffset addieren.
Grüße,
bluntburn