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

    У меня есть этот код в fullCalendar нажмите событие:Получить дату от FullCalendar и отправить его в PHP

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

    Принятая дата в целевой странице, кажется, как метка время (как это: 1483457400000).

    Я попробовал это в целевой странице:

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

    Но это не похоже на работу.

    Любая идея, как я могу преобразовать выбранное datetime в fullCalendar в действительную строку даты php?

    +0

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

    +0

    Ничего себе! Не могу поверить, что я провел весь вечер на этом! Кстати, это дает мне разницу в один час, это связано с часовым поясом? и вы знаете, как это исправить? – Lamar

    +0

    Просто добавьте или вычтите 3600 из $ date. Вы также можете захотеть проверить, что такое часовой пояс по умолчанию PHP. – Brogan

    ответ

    1

    Избавьтесь от некоторых из них нулями.

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

    Может быть, даже

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

    Timestamps, как правило, всегда в GMT + 0 и модифицируется функцией даты PHP, чтобы соответствовать часовой пояс PHP по умолчанию. Например:

    date_default_timezone_set('UTC'); 
    
    +0

    Спасибо, я получил это, теперь, когда я нажимаю на временной интервал, он дает мне время плюс один час. Это связано с этим преобразованием? – Lamar

    +0

    Вероятно, скорее всего, проблема с часовым поясом – RiggsFolly

     Смежные вопросы

    • Нет связанных вопросов^_^