I-Cal如何计算时间?
问题描述:
我抽空在UTC,然后conveting的时间到特定的时区的时间将它发送的压延邀请,I-Cal如何计算时间?
考虑一个日期的功能,例如,
$date = new DateTime('2012-07-17 09:00:00 +00'); //UTC
$date->setTimezone(new DateTimeZone('America/Chicago'));
echo $start_time=$date->format('H:i:s'); // echoes 04:00:00; //
但经过在Outlook同时如,
$ical .= "DTSTART:".$start."T".$start_time."\r\n";
没有给出时间是上午9点在美国,而不是压延机时间设置为其他时间(上午9:30)。 我能做些什么来解决这个问题?
任何帮助,非常感谢。
答
看一些例子here,它看起来像它使用的格式Ymd
牛逼His
ž,与T
和Z
是文字。
所以,你想传递的东西,如:
$ical .= "DTSTART:".$date->format('Ymd\THis\Z')."\r\n";
在我的iCal文件I格式DTSTART这样的:'DTSTART; TZID =欧洲/柏林:20170922T200000'没有问题,到目前为止它。在这里你可以找到一个文档http://www.kanzaki.com/docs/ical/dateTime.html –