2016-03-16 25 views
0

我有保存年份作爲輸入到數據庫,但它保存的時間,如果我得到輸入1990輸入數據庫保存26.Here 26是當前日期與選定日期的差異2016-1990 = 26.我使用PHP日期函數但它不能正常工作proper.Using此得到修復1970年如何從php的年數開始計算年?

<?php 
     $dr = []; 
     for($i = date("Y"); $i > date("Y") - 100; $i--) { 
      $dr[] = $i; 
     } 
     echo $form->field($model, 'ven_established_date')->dropDownList($dr);//Here Select year 
     ?> 
    $date = $model->ven_established_date; 
       echo '$date'.$date; 
       $year = date("Y", strtotime($date)); 
       echo '$year'.$year; 
+0

你得到'1970'爲一年,因爲'的strtotime($日期)''返回0'。 var_dump(strtotime($ date));'?的輸出是什麼? var_dump(strtotime($ date))後 –

+0

我得到了一個bool(false) –

+0

'$ date'裏面有一個有效日期嗎? –

回答

0

至於你的問題是沒有太大的清楚,所以我從你的問題了解的是你有一年的時間數(例如:-26),你想確切的一年。 解決方案: -

$yearCount = 26; //input you have, getted from DB 
$currentYear = date("Y"); 
$pastYear = $currentYear - $yearCount; 
echo $pastYear; 
+0

尚未妥善保存一年到數據庫持續時間節約,而不是一年......我附上我的代碼,我有選擇一年 –

+0

按你正在創建普通數組並傳遞到下拉列表中的代碼,而不是你應該傳遞數組。所以你的數組創建代碼應該是: - $ dr = [];對於($ i = date(「Y」); $ i> date(「Y」)-100; $ i--){ $ dr [$ i] = $ i; } –