2014-12-03 90 views
1

雖然轉換日期生成的表格jQuery fullcalendar,在Windows中造成一些問題的時區。在PHP中轉換從fullcalendar生成的日期時區問題

這裏是我張貼,承認錯誤我已經start變量作爲字符串中(IST)的值,到底是值獲得從jQuery的響應fullcalendar那裏的時區是在(India Standard Time)你看。請參閱控制檯的PIC

enter image description here

而且使用strtotime()在PHP轉換的開始和結束的變量,我得到了什麼之後

enter image description here

下面是代碼的東西,我用轉換:

 $dat = array(
        'eve_start' => date('Y-m-d', strtotime($_POST['start'])), 
        'eve_end' => date('Y-m-d', strtotime($_POST['end'])), 
        'eve_allDay' => 0 
       ); 

您可以注意到eve_end是不是及彼的正確,因爲(India Standard Time)

+0

基本的問題是,你要發送一個無效的日期格式,因爲日期時間不能有雙時區規範。我認爲[fullcalendar.io](http://fullcalendar.io)適用於ISO8601日期時間格式,所以發送錯誤格式可能是您的錯。爲什麼不修復POST,發送正確的日期?向我們展示JS代碼... – 2014-12-03 07:15:58

+0

控制檯的第一個圖像顯示在Windows和Linux中的日期格式... 沒有錯誤的post元素格式,這裏的問題是時區在窗口中獲取可擴展的形式,並使錯誤同時在php – 2014-12-03 08:58:11

+0

中格式化日期所以你是說你的腳本文章在不同的系統中有不同的格式? – 2014-12-03 09:04:19

回答

0

試試這個,

$start = substr($_POST['start'], 0, strpos($_POST['start'], '(')); 
$end = substr($_POST['end'], 0, strpos($_POST['end'], '(')); 

$start_date = date('Y-m-d h:i:s', strtotime($start)); 
$end_date = date('Y-m-d h:i:s', strtotime($end)); 
$dat = array(
       'eve_start' => $start_date, 
       'eve_end' => $end_date, 
       'eve_allDay' => 0 
      );