PHP日期到DTSTART的iCal日期格式

Nic*_*ard 12 php icalendar date

有没有一种简单的方法来使用php日期获得正确的iCal DTSTART格式?

如果我没有时间,我需要格式如下:20111008T110000或20111008(那个很容易).

PHP日期是否有快速的方法来执行此操作,特别是添加时间或在需要时删除它的方法?

Vik*_*tor 18

我没有任何本机PHP函数或日期格式,因此您需要创建自己的函数.像这样的东西:

function getIcalDate($time, $inclTime = true)
{
    return date('Ymd' . ($inclTime ? '\THis' : ''), $time);
}
Run Code Online (Sandbox Code Playgroud)

正如hakre在评论中指出的那样,日期格式化程序无法区分日期与时间和没有时间的日期 - 您必须决定其背后的逻辑.

  • @DanyKhalife:根据[RFC](http://www.ietf.org/rfc/rfc2445.txt),有几种可接受的日期时间值形式.没有'Z'的那个被称为"具有当地时间的日期",这意味着没有与之相关的时区信息.添加尾随'Z'会将日期时间设置为UTC("UTC时间日期").最后,您可以明确定义时区("具有本地时间和时区参考的日期"). (6认同)

Dun*_*ger 5

date('Ymd\THis', time())
Run Code Online (Sandbox Code Playgroud)

您可以替换time()为您自己的时间戳。