Uhrzeit PHP & MySQL [OFFTOPIC]

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Uhrzeit PHP & MySQL [OFFTOPIC]

    Hallo,

    also entweder bin ich zu doof geworden Datum per php in mysql Datenbank zu speichern oder irgendwas läuft schief xD

    war grade am programmieren (30.03.2010 01:45)
    plötzlich schmeißt er mir ein Datum mit 10 Stunden Unterschied raus.... (29.03.2010 11:45)

    dachte erstmal UNIX_TIMESTAMP() durch strtotime(date(blabla)) zu ersetzen

    ging auch in die Hose, wieder das gleiche.

    dann kam die Idee Serveruhr umzustellen - Zeitzone wechseln - keine Chance, er bleibt bei 11:xx


    was geht hier bitte ab? :D :D :D
  • zeitzonen sind ein lustiges Thema wenn man die Anwendung international arbeitet.
    Lokal hatte ich allerdings noch nie Problem...
    Was gibt denn der Server für eine Uhrzeit wieder? (date in der Shell)
    Speicherst du den Wert explizit (via php string) oder durch CURRENT_TIMESTAMP in MySQL?

    Was ergibt folgender Test:

    Quellcode

    1. <?php
    2. echo "default_timezone: " . date_default_timezone_get()."\n\n";
    3. echo "date: " . date("Y-m-d h:i:s",time())."\n\n";
    4. echo "time: " . time()."\n\n";
    5. $db = new PDO('mysql:host=localhost;dbname=datenbank;port=3306', "benutzer", "password");
    6. $stmt = $db->prepare("SELECT NOW() AS x");
    7. $stmt->execute();
    8. $row = $stmt->fetch();
    9. echo "SELECT NOW() ".$row['x'];
    10. echo "\n\n ------------------- \n\n";
    11. date_default_timezone_set("UTC");
    12. echo "default_timezone (nach setzen): " . date_default_timezone_get()."\n\n";
    13. echo "date: " .date("Y-m-d h:i:s",time())."\n\n";
    14. echo "time: " . time()."\n\n";
    15. $db = new PDO('mysql:host=localhost;dbname=datenbank;port=3306', "benutzer", "password");
    16. $stmt = $db->prepare("SELECT NOW() AS x");
    17. $stmt->execute();
    18. $row = $stmt->fetch();
    19. echo "SELECT NOW() ".$row['x'];
    20. ?>
    Alles anzeigen
  • Also "date()" in der shell gibt schonmal falsche Uhrzeit aus

    setzen darf ich die nicht - Permission denied

    in der Weboberfläche des Servers kann ich Zeitzone einstellen, das bringt allerdings nichts -> Uhrzeit wird nicht geändert.

    Dein Code gibt: default_timezone: System/Localtime date: 2010-03-31 11:50:36 time: 1270036236 wieder

    und danach nur "Uncaught exception 'PDOException' with message 'SQLSTATE[28000] [1045] Access denied for user 'www-data'@'localhost'"

    mit noch bisschen krempel. Hab als www-user nicht volle rechte... :)

    EDIT// ich denke mal die .... von Serveranbieter haben da wieder rumgefuscht.... das geht gar nicht, was man da für Service hat... und wie qualitativ da gearbeitet wird...

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Koljan777 ()

  • hm, also hier nochmal das offizielle Handbuch dazu: debiananwenderhandbuch.de/tzconfig.html

    CET bzw die "Summertime" ist das selbe wie GMT. Und GMT ist das, was wir in Deutschland verwenden. Bist du sicher, dass du stattdessen UTC möchtest?
    Zur Formatierung des Datums. Welchen Formatierungsstring verwendest du? Die Darstellung ist einzig die Sache des Codes.