我有一個MySQL數據庫表,其列名爲"timestamp"
,類型爲timestamp
,屬性爲on update CURRENT_TIMESTAMP
,默認值爲CURRENT_TIMESTAMP
。如何將MySQL TIMESTAMP轉換爲PHP中的日期時間
如果我在表中添加一條記錄,指定其他值,但不是時間戳,那麼時間戳會自動添加,如2016-12-28 17:02:26
。
在PHP我使用下面的查詢
SELECT * FROM history WHERE user_id = 9 ORDER BY timestamp ASC
查詢的結果被保存到$rows
查詢表和我使用foreach
與一些格式化其他值創建一個數組。我正試圖將時間戳格式化爲英國式的24小時日期時間:dd/mm/yy, HH:MM:SS
。
我試圖兩者date()
和strftime()
功能如下:
$formatted_datetime = strftime("%d %m %y %H %M %S", $row["timestamp"]);
$formatted_datetime = date("d/m/y, H:i:s", $row["timestamp"]);
這兩個結果在以下通知和日期時間被輸出不正確地像01 01 70 00 33 36
:
說明:甲第20行中的/home/ubuntu/workspace/pset7/public/history.php中遇到的格式不正確的數字值
我是PHP和MySQL的新手,到目前爲止,我看到的其他問題或文檔都沒有成功解決執行此轉換問題。我不明白爲什麼strftime()
無法正常工作,以及如何正確執行此操作?
的可能的複製[轉換MySQL的時間戳爲實際的日期和時間?(http://stackoverflow.com/questions/5547252/convert-mysql-timestamp-into-actual-date-and-時間) – Tiger
旁註:由於其限制,我不會使用'TIMESTAMP':*「TIMESTAMP數據類型用於包含日期和時間部分的值.TIMEESTAMP的範圍爲'1970-01-01 00:00 :01'UTC to **'2038-01-19 03:14:07'** UTC。「* https://dev.mysql.com/doc/refman/5.5/en/datetime.html使用'DATETIME' *「DATETIME類型用於包含日期和時間部分的值,MySQL以'YYYY-MM-DD HH:MM:SS'格式檢索並顯示DATETIME值。支持的範圍是'1000-01-01 00: 00:00'到**'9999-12-31 23:59:59'。**「* –
@Tiger那裏所選的解決方案似乎...很多。我會受益於我桌子上時間戳列的不同類型嗎? – Toby