2014-10-01 63 views
0

我試圖將一些MySQL時間戳轉換爲官方的.ics格式。不幸的是,我總是得到輸出「19700101T013334Z」。將MySQL時間戳格式設置爲ics格式

MySQL的格式:2014-09-29 18:00:00

這是我的PHP函數,應該日期相應轉換:

function dateToCal($timestamp) { 
    return date('Ymd\THis\Z', $timestamp); 
} 

我在做什麼錯?

回答

5

date()需要一個Unix時間戳作爲第二個參數。您可以使用strtotime()$timestamp轉換爲您的Unix時間戳。

function dateToCal($timestamp) { 
    return date('Ymd\THis\Z', strtotime($timestamp)); 
} 

可能更容易,更好,如果你使用UNIX_TIMESTAMP()轉換當日到Unix時間戳查詢。

+0

非常感謝你約翰 - 它的工作! – doonot 2014-10-01 21:08:53

0

你有MySQL的日期時間轉換爲Unix時間戳之前打個電話可以使用它 -

function dateToCal($timestamp) { 
    date('Ymd\THis', strtotime($timestamp)); 
} 

你真的不必有功能的\Z

1

我知道你已經有了答案,但你也可以做到這一點在數據庫:

SELECT FORMAT_DATE("2014-09-29 18:00:00", "%Y%m%dT%H%i%sZ");

末的Z表示UTC,所以如果你使用的系統存儲您的日期時間你也想要轉換。

+0

感謝提示:) – doonot 2014-10-01 21:08:14