2011-06-07 41 views
1

這部分代碼輸出01/01/1970。我的代碼不正確?我只發佈了相關部分,因爲它是json頁面的一部分。表格字段是日期格式。感謝php顯示日期代碼01/01/1970

date('d/m/Y',$row['destroy_date']) 
+0

是的,如果'row ['destroy_date']'等於'1970-01-01',它是正確的。是嗎 ? – 2011-06-07 10:03:59

+0

@skowron。這是db:2028-09-12中的日期。謝謝 – bollo 2011-06-07 10:05:19

+0

skowron-line,不,這是正確的,如果$ row ['destroy_date']'等於0到82799之間的任何值。 – 2011-06-07 10:06:24

回答

11

如果$row['destroy_date']不是UNIX時間戳,與strtotime第一解析它:

date('d/m/Y', strtotime($row['destroy_date'])) 

閱讀手冊中爲date,你會看到第二個參數不能在任何一個日期格式。

+0

我試過了你的建議併產生這個錯誤:strtotime()[function.strtotime]:調用空時間參數。謝謝 – bollo 2011-06-07 10:07:03

+0

bollo,那個錯誤表明'$ row ['destroy_date']'在runnign那一行時沒有被設置。確保其餘的邏輯實際上是正確的(嘗試在當前運行日期函數的同一位置回顯'$ row ['destroy_date']'的值)。 – 2011-06-07 10:08:46

+0

我試圖迴應價值,但不斷錯誤,預期的錯誤。這是顯示日期的部分。 $ results = mysql_query($ sql); 而($行= mysql_fetch_assoc($結果)){ $數據[ '行'] [] =陣列( 'ID'=> $行[ 'ID'], '細胞'=>數組($行['id'],$ row ['authorization'],$ row ['boxref'],$ row ['custref'],date('d/m/y H:i:s',strtotime($ row [ ('d/m/Y',$ row ['fileout_date']),日期('d/m/Y',$ row ['filein_date']),日期('d/m/Y',strtotime($ row ['destroy_date'])),$ row ['filestatus'])); } echo $ json-> encode($ data);謝謝 – bollo 2011-06-07 10:18:54

0

大概價值爲$row['destroy_date']爲空或不正確的數據格式,以echo $row['destroy_date'];

+0

這裏是什麼回聲:2028-09-12 – bollo 2011-06-07 10:16:31

1

this portion of code is outputing 01/01/1970. is my code incorrect?

那要看是什麼$行[「destroy_date」]檢查價值。如果這實際上是一個日期,則必須先將其轉換爲時間戳(strtotime)。如果它爲空或0,它將轉換爲Epoch(1-1-1970)。

我發現DateTime更容易使用;

$datetime = new DateTime($row['destroy_date']); 
echo $datetime->format('d-m-Y'); 
+0

所以我必須在我的網頁的每個日期行上使用它?謝謝 – bollo 2011-06-07 10:17:16