我試圖將一些MySQL時間戳轉換爲官方的.ics格式。不幸的是,我總是得到輸出「19700101T013334Z
」。將MySQL時間戳格式設置爲ics格式
MySQL的格式:2014-09-29 18:00:00
這是我的PHP函數,應該日期相應轉換:
function dateToCal($timestamp) {
return date('Ymd\THis\Z', $timestamp);
}
我在做什麼錯?
我試圖將一些MySQL時間戳轉換爲官方的.ics格式。不幸的是,我總是得到輸出「19700101T013334Z
」。將MySQL時間戳格式設置爲ics格式
MySQL的格式:2014-09-29 18:00:00
這是我的PHP函數,應該日期相應轉換:
function dateToCal($timestamp) {
return date('Ymd\THis\Z', $timestamp);
}
我在做什麼錯?
date()
需要一個Unix時間戳作爲第二個參數。您可以使用strtotime()
將$timestamp
轉換爲您的Unix時間戳。
function dateToCal($timestamp) {
return date('Ymd\THis\Z', strtotime($timestamp));
}
可能更容易,更好,如果你使用UNIX_TIMESTAMP()
轉換當日到Unix時間戳查詢。
你有MySQL的日期時間轉換爲Unix時間戳之前打個電話可以使用它 -
function dateToCal($timestamp) {
date('Ymd\THis', strtotime($timestamp));
}
你真的不必有功能的\Z
。
我知道你已經有了答案,但你也可以做到這一點在數據庫:
SELECT FORMAT_DATE("2014-09-29 18:00:00", "%Y%m%dT%H%i%sZ");
末的Z表示UTC,所以如果你使用的系統存儲您的日期時間你也想要轉換。
感謝提示:) – doonot 2014-10-01 21:08:14
非常感謝你約翰 - 它的工作! – doonot 2014-10-01 21:08:53