2016-06-09 57 views
1

我有一個循環,我從一個Excel表中返回的所有數據都是日期格式。這是循環:從CodeIgniter控制器傳遞一個字符串到date_diff

for ($row = 2; $row <= 6; $row++) { 
     $cell[] = $objWorksheet->getCell($column.$row)->getFormattedValue(); 
    } 

這一切都好。我也可以使用CODEIGNITER表庫來創建一個包含該數據的表。現在的問題是,我需要比較從該工作表提取的數據到今天的日期,並檢查提取到今天的數據之間的天差異。有辦法做到這一點?我試圖使用date_create($ cell),但該函數不接受數組。我需要比較每個數組的所有日期到今天。

編輯

嗨,我想比較2個日期與date_diff,但date2的是來自於我的CodeIgniter控制器的字符串。

$date1 = date_create("today"); 

     foreach ($dashboardSheetData as $date) { 
      $date2 = strtotime($date); 
      $diff = date_diff($date1, $date2); 
      echo $diff->format("%a"); 
     } 

我需要date_diff $日期1和$ DATE2之間,但我不能,因爲我的$ date2的將是一個字符串,它是不能接受的。我怎樣才能讓date_diff傳遞一個字符串?

+0

解決了第一個問題,問題與現實問題 –

+0

編輯可以請你的var_dump()這兩個日期。 –

+0

@RahulM here:string(10)「02.05.2016」string(10)「02.05.2016」string(10)「02.05.2016」string(10)「02.05.2016」string(10)「02.05.2016 「對象(日期時間)#109(3){[」日期「] =>字符串(26)」2016-06-10 00:00:00.000000「[」timezone_type「] => int(3)[」timezone「] =>字符串(13)「Europe/Berlin」} –

回答

0

我很抱歉爲此快速回答;我不確定數據是什麼樣的,但是,您確實希望將date_diff參數設置爲YYYY-MM-DD,所以請確保格式化爲這樣。
REF:http://php.net/manual/en/datetime.diff.php

$date1 = date('Y-m-d'); 
foreach ($dashboardSheetData as $date) { 
    $date2 = date('Y-m-d',strtotime($date)); 
    $diff = date_diff($date1, $date2); 
    echo $diff->format("%a"); 
} 
相關問題