javascript
  • php
  • datetime
  • fullcalendar
  • 2017-01-26 3 views 1 likes 
    1

    Ich habe diesen Code in fullCalendar klicken Ereignis senden:Datum von FullCalendar bekommen und es zu PHP

    dayClick: function(date, jsEvent, view){ 
        if (view.name === "agendaDay") { 
         window.location.assign('targetpage.php?date='+ date); 
        } 
    } 
    

    Das empfangene Datum in Zielseite scheint wie ein Zeitstempel (wie folgt aus: 1483457400000).

    Ich habe versucht, dies in der Zielseite:

    $date = $_GET["date"]; 
    $dateStr = date('Y-m-d H:i:s', $date); 
    

    Aber es nicht zu funktionieren scheinen.

    Eine Idee, wie kann ich ausgewählte Datetime in FullCalendar in eine gültige PHP-Datumszeichenkette konvertieren?

    +0

    $ date = $ _GET ['date']/1000; – Brogan

    +0

    Wow, das stimmt! Ich kann nicht glauben, dass ich den ganzen Abend damit verbracht habe! Übrigens gibt es mir eine Stunde Unterschied, hat es mit der Zeitzone zu tun? und du weißt wie man es repariert? – Lamar

    +0

    Addieren oder subtrahieren Sie einfach 3600 von $ date. Sie sollten auch prüfen, welche Standardzeitzone von PHP verwendet wird. – Brogan

    Antwort

    1

    Entfernen Sie einige von ihnen Nullen.

    $date = $_GET['date']/1000; 
    

    Vielleicht

    $date = floor($_GET['date']/1000); 
    

    Zeitstempel sind auch in der Regel immer in GMT + 0 und geändert durch die Funktion PHP Datum des PHP-Standard-Zeitzone anzupassen. Zum Beispiel:

    date_default_timezone_set('UTC'); 
    
    +0

    Danke, dass ich jetzt, wenn ich auf ein Zeitfenster klicke, es mir Zeit plus eine Stunde gibt. Hat es mit dieser Konvertierung zu tun? – Lamar

    +0

    Wahrscheinlich eher ein Zeitzonenproblem – RiggsFolly

    Verwandte Themen