簡體   English   中英

將MySQL時間戳格式化為ics格式

[英]Format MySQL timestamp to ics format

我正在嘗試將一些MySQL時間戳轉換為正式的.ics格式。 不幸的是,我總是得到輸出“ 19700101T013334Z ”。

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

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

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

我究竟做錯了什么?

date()希望將Unix時間戳記作為第二個參數。 您可以使用strtotime()$timestamp轉換$timestamp Unix時間戳。

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

如果使用UNIX_TIMESTAMP()在查詢中將該日期轉換為Unix時間戳,可能會更容易,更好。

我知道您已經有了答案,但是您也可以在數據庫中執行此操作:

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

末尾的Z表示UTC,因此,如果您使用系統時間存儲日期,則也要進行轉換。

您必須先將MySql的日期時間轉換為Unix時間戳,然后才能使用它-

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

您實際上不必在函數中使用\\Z

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM