kostenloser Webspace werbefrei: lima-city


Problem mit Zeitumrechnungen

lima-cityForumDie eigene HomepageHTML, CSS & Javascript

  1. Autor dieses Themas

    programtools

    programtools hat kostenlosen Webspace.

    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
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. g****e

    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
  4. Autor dieses Themas

    programtools

    programtools hat kostenlosen Webspace.

    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
  5. g****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
  6. Autor dieses Themas

    programtools

    programtools hat kostenlosen Webspace.

    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
  7. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!