kostenloser Webspace werbefrei: lima-city


date() Zeitsprung: USA -> Ö/D

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    sincer

    Kostenloser Webspace von sincer

    sincer hat kostenlosen Webspace.

    ho ;)

    Ich habe gerade für meine Seite eine "Last Login" Information geschrieben...
    (Ich weiß, dass das nichts aufwendiges ist, aber da ich kaum was von PHP verstehe, bin ich richtig stolz, dass ich es alleine - ganz ohne persönliche Hilfe - geschafft habe XD )

    Doch kaum funktioniert das ganze, kam auch schon die erste böse Überraschung...
    Der Serve, auf dem ich arbeite, steht in den USA, dementsprechend sieht auch das Ergebnis der date() Funktion aus...
    Die Zeit liegt einfach um 9h zurück.
    (Ein Login vom 13.6. um 17:30 (Österreichische / Deutsche Zeit) wird als Login vom 13.6. um 8:30 (Zeit in den USA) angezeigt...)

    Meine Frage: Wie sage ich der Date Funktion (mit möglichst wenig Aufwand), dass sie mir 9 Stunden dazu zählen soll?

    lg
    Sincer
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

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

  3. php.net empfiehlt für dein Problem die Verwendung von gmdate()

    string gmdate ( string $format [, int $timestamp ] )

    Identisch zur Funktion date(), ausgenommen dass die zurückgegebene Zeitangabe Greenwich Mean Time (GMT) entspricht.


    FF
  4. Autor dieses Themas

    sincer

    Kostenloser Webspace von sincer

    sincer hat kostenlosen Webspace.

    ho ;)

    Fast...

    Habe mich gerade eingeloggt...

    Dein letzter Login war am 13.06.2009 um 15:51:40.


    Also entweder geht die Uhr am Server vom 2 Stunden nach... oder da fehlt noch was...

    Muss ich noch etwas beachten?
    Oder kann die Serverzeit von einem (ich behaupte einmal professionellem, oder zumindest teuren *g*) wirklich falsch sein?

    //EDIT: Mensch, ich bin da voll auf der Leitung gestanden... klar fehlen da noch 2h ^^

    Also nur noch die Frage: Wie kann ich die dazu rechnen?

    lg
    Sincer

    Beitrag zuletzt geändert: 13.6.2009 18:13:39 von sincer
  5. In den Diskussionen zu gmtime() bei php.net findet sich eine passende Function:

    <?php
    function actual_time($format,$offset,$timestamp){
       //Offset is in hours from gmt, including a - sign if applicable.
       //So lets turn offset into seconds
       $offset = $offset*60*60;
       $timestamp = $timestamp + $offset;
        //Remember, adding a negative is still subtraction ;)
       return gmdate($format,$timestamp);
    }
    ?>


    Das müßte man jetzt nur noch um eine automatische Erkennung der Sommerzeit erweitern, dann wäre es perfekt. ;)

    FF
  6. Hi,

    ich nehme mal an dass bei dir einfach noch die Zeitzone falsch eingestellt ist ;-)
    Versuch mal folgendes:
    <?php
      // date_default_timezone_set('America/Los_Angeles');
      date_default_timezone_set('Europe/Berlin'); 
      echo date("F j, Y, g:i a")."<br />\n";
      echo gmdate("F j, Y, g:i a")."<br />\n"; 
    ?>


    Dann werden auch automatisch die Werte von DATE angepasst ;-) gmdate() gibt hingegen immer GMT+0 zurück.

    Grüßle

    Beitrag zuletzt geändert: 15.6.2009 11:10:04 von scout
  7. Autor dieses Themas

    sincer

    Kostenloser Webspace von sincer

    sincer hat kostenlosen Webspace.

    ho ;)

    scout schrieb:
    ich nehme mal an dass bei dir einfach noch die Zeitzone falsch eingestellt ist ;-)


    Mensch, Scout, ich hätte mir einen Haufen Zeit erspart, hätte ich wieder einmal in diesen Thread gesehen XD
    Ich hab herum Gegoogelt, gesucht, Foren durchstöbert, und mich bei PHP.net dumm und dämlich gelesen... (Wenn man kaum PHP kann, ist das alles kryptisch, und man kann nur durch Probieren seine Erfahrungen machen...)

    Im Endeffekt bin ich genau auf das gekommen, was du da postest ^^

    <?php
    date_default_timezone_set('Europe/Berlin');
    $datetime = date_create(date('d.m.Y H:i:s'));
    // Testweise eine Ausgabe:
    echo date_format($datetime, 'd.m.Y H:i:s');
    ?>

    (Das Gleiche, nur ein bisschen anders Formatiert...)

    Endlich geschafft... und es funktioniert sogar XD

    Vielen Dank auf jeden Fall :)

    lg
    Sincer
  8. 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!