Problem mit Zeitumrechnungen
lima-city → Forum → Die eigene Homepage → HTML, CSS & Javascript
code
date
datum
differenz
direkt url
format
funktion
http
kleines problem
machen
monat
output
problem
referenz
setzen
stunden
super danke
uhrzeit
url
zeitverschiebung
-
Hi, ich habe ein kleines Problem mit der Umwandlun eines timestamps in ein Datum:
Timestamp: 1371240000
Datum: 14.06.2013 20:00:00
mit meiner JS Funktion bekomme ich allerdings folgendes raus: 14.05.2013 22:00:00
Funktion:
function timestmpToDate(format, timestamp){ if(timestamp==undefined) timestamp = (new Date()).getTime() / 1000; if(format==undefined || !format) format = 'd.m.Y - H:i:s'; var d = new Date(timestamp * 1000); var output = format; output = output.replace(/d/g, ((d.getDate()<10)?'0':'')+d.getDate()) .replace(/m/g, ((d.getMonth()<10)?'0':'')+d.getMonth()) .replace(/Y/g, d.getFullYear()) .replace(/H/g, ((d.getHours()<10)?'0':'')+d.getHours()) .replace(/i/g, ((d.getMinutes()<10)?'0':'')+d.getMinutes()) .replace(/s/g, ((d.getSeconds()<10)?'0':'')+d.getSeconds()); return output; }
1) Problem: 2h Differenz
Wahrscheinlich durch Zeitverschiebung oä, wie kann ich dies berücksichtigen? (einfach timestamp += 2*60*60*1000 scheint mir etwas gefuddelt)
2) problem: 1 Monat zu wenig ?!
ich habe keine Ahnung was hier falsch läuft.
Ich hoffe Ihr könnt mir helfen.
MFG -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
date.getMonth() gibt den Monat von 0-11 an, du musst +1 rechnen http://www.w3schools.com/jsref/jsref_getmonth.asp
Wegen den Stunden: Das liegt daran, dass du das Datum bzw die Uhrzeit der UTC bzw GMT annimmst. Dein Browser nutzt jedoch die lokale Timezone, was für deutschland UTC+2 bzw GMT+2 ist, damit also 2 Stunden später. Die Uhrzeit ist also richtig.
Liebe Grüße -
Super Danke, das date.getMonth() hab ich total übersehen, klappt so aber wunderbar.
Gibt es einen einfachen Weg die zeitzone zu setzen? Weil die Stunden + 2 macht ja hier keinen Sinn (zB aus 23:20:20 würde dann ja 25:20:20 werden was irreal ist).
Vielen Dank & Grüße -
Ich lass dir mal direkt http://www.w3schools.com/jsref/jsref_obj_date.asp hier.
Du kannst keine Timezone setzen, das musst du von Hand errechnen, aber du kannst die getUTCHour beispielsweise benutzen, um direkte UTC Zeiten zu bekommen. Für weitere getUTC* Funktionen kannst du in die verlinkte Referenz schauen :)
Liebe Grüße -
Okay vielen Dank.
Über das UTC müsste ich dann aber 2 h addieren? (Am besten mache ich das dann doch über timestamp += 2*60*60*1000) ?
Liebe Grüße -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage