将MySQL时间戳格式化为ics格式

nim*_*rod 0 php mysql icalendar timestamp date

我试图将一些MySQL时间戳转换为官方.ics格式.不幸的是,我总是得到输出" 19700101T013334Z".

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

这是我的PHP函数,应该相应地转换日期:

function dateToCal($timestamp) {
    return date('Ymd\THis\Z', $timestamp);
}
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

Joh*_*nde 5

date()期望将Unix时间戳作为第二个参数.您可以使用strtotime()转换$timestamp为Unix时间戳.

function dateToCal($timestamp) {
    return date('Ymd\THis\Z', strtotime($timestamp));
}
Run Code Online (Sandbox Code Playgroud)

如果您在查询中将该日期转换为Unix时间戳,则可能更容易,也更好UNIX_TIMESTAMP().