2017-06-14 32 views
0

比方說,我創建活動 開始日期:2017年6月14日 終止日期:2017年6月16日 從時間:13:00:00 要時間:16:00: 00全日曆事件數據顯示問題

我正確地在這些數據庫中存儲。 現在一個問題是在完整的日曆數據應該顯示時間13:00:00至16:00:00,而不是它在2017-06-15顯示一整天。 任何錯誤? 我的代碼是

完整的日曆顯示數據:

var id=$("#hidden_id").val(); 
    $('#calendar').fullCalendar({ 
     defaultView: 'agendaWeek', 

      header: { 
        left: '', 
        center: 'prev title next',     
        right: '' 
      }, 
      /*   
       loading: function (bool) { 
         $("#loading_div").show(); 
       }, 
      */ 
      defaultDate: "<?php echo date('Y-m-d');?>", 
      navLinks: true, // can click day/week names to navigate views 
      editable: false, 
      events: "json_rate-info/"+id, 
      allDay: true, 
      selectable: true, 
      selectHelper: true, 
     }); 

獲取數據功能

public function GetJsonRateInfo($rate_id) 
    { 
     $json = array(); 
     $start=$_REQUEST['start']; 
     $end=$_REQUEST['end']; 
     if($start != '' && $end != '') 
     { 
      $where="(from_date BETWEEN '$start' and '$end') or (to_date BETWEEN '$start' and '$end')"; 
      $finalArray=[]; 
      $json=$this->Rates_model->getAnyData($where); 
      /*echo '<pre>'; 
      print_r($json); 
      die();*/ 
      if(!empty($json)) 
      { 

       foreach ($json as $key => $js) { 

        $finalArray[$key]['id']= $js->id; 

        $finalArray[$key]['start']= date('Y-m-d',strtotime($js->from_date))."T".$js->from_time; 
        $finalArray[$key]['end'] = date('Y-m-d',strtotime($js->to_date))."T".$js->to_time; 

        if(!empty($js->rate_per_hour) && !empty($js->rate_per_mile)) 
        { 
         $fullTitle="Per Hour: ".$js->rate_per_hour.",Per Mile: ".$js->rate_per_mile; 
        } 
        elseif(!empty($js->rate_per_hour) && empty($js->rate_per_mile)){ 
         $fullTitle="Per Hour: ".$js->rate_per_hour; 
        } 
        elseif(empty($js->rate_per_hour) && !empty($js->rate_per_mile)){ 
         $fullTitle="Per Mile: ".$js->rate_per_mile; 
        } 
        $finalArray[$key]['title']=$fullTitle; 
       } 

       echo json_encode($finalArray); 
      } 
     } 

    } 

我的JSON數據:

[{"id":"1","start":"2017-06-14T13:00:00","end":"2017-06-15T16:00:00","title":"Per Hour: 11.00,Per Mile: 11.00"}] 
+0

你有開始在14個單一事件於13:00至15日在16:00結束。因此,該活動之間的所有時間(1天+ 3小時)都將包含在內。這是日曆完全正確的行爲 - 看到它在這裏工作:https://jsfiddle.net/4bznpxc5/1/。如果這不是你想要的結果,請更清楚地解釋你希望達到的目標。附: 'allDay:true'在日曆初始化中不是一個有效的選項,請檢查文檔。不確定你的意圖是通過設置? – ADyson

+0

我需要在13:00:00和16:00:00之間顯示記錄,包括所有3天,包括日期2017-06-14 2017-06-15 2017-06-16 –

+0

正確,因此您要重複的事件不是一個單一的事件?在這種情況下,您必須在事件數組中創建3個獨立的對象。 – ADyson

回答

1

在您的例子,你有一個單一的事件, 14日13:00開始,15日16:00結束。因此,該活動之間的所有時間(1天+ 3小時)都將包含在內。這是日曆完全正確的行爲 - 看到它在這裏工作:https://jsfiddle.net/4bznpxc5/1

如果你想重複在3個不同天的相同時間,你要輸出的JSON飼料3個獨立的事件對象,像這樣:

[ 
    {"id":"1","start":"2017-06-14T13:00:00","end":"2017-06-14T1‌​6:00:00","title":"Pe‌​r Hour: 11.00,Per Mile: 11.00"}, 
    {"id":"2","start":"2017-06-15T13:00:00","end":"2017-06-15T16‌​:00:00","title":"Per Hour: 11.00,Per Mile: 11.00"}, 
    {"id":"3","start":"2017-06-16T13:00:00","end":"2017-06-16T16‌​:00:00","title":"Per Hour: 11.00,Per Mile: 11.00"} 
]