Php ICS URL输出延迟5小时
首先,我要说我不是PHP开发人员。因此,我让另一位开发人员创建了一个插件,它从Wordpress插件CalendarizeIt获取开始和结束时间,并将其输出到格式化的ICS url中。问题是url输出的开始和结束时间比它应该的时间早了5个小时 以下是PHP的插件:Php ICS URL输出延迟5小时,php,wordpress,strtotime,icalendar,Php,Wordpress,Strtotime,Icalendar,首先,我要说我不是PHP开发人员。因此,我让另一位开发人员创建了一个插件,它从Wordpress插件CalendarizeIt获取开始和结束时间,并将其输出到格式化的ICS url中。问题是url输出的开始和结束时间比它应该的时间早了5个小时 以下是PHP的插件: <?php // Original script from http://jamiebicknell.tumblr.com/post/413492676/ics-generator-php-class#_=_ // Modifi
<?php
// Original script from http://jamiebicknell.tumblr.com/post/413492676/ics-generator-php-class#_=_
// Modified by Sean Carruthers
$start = $_GET['start'];
$end = $_GET['end'];
$name = $_GET['name'];
$description = $_GET['description'];
$location = $_GET['location'];
$uid = "kaneko" . strtotime("now");
$data = "BEGIN:VCALENDAR\r\nVERSION:2.0\r\nMETHOD:PUBLISH\r\nBEGIN:VEVENT\r\nDTSTART:".date("Ymd\THis\Z",$start)."\r\nDTEND:".date("Ymd\THis\Z",$end)."\r\nLOCATION:".$location."\r\nTRANSP: OPAQUE\r\nSEQUENCE:0\r\nUID:".$uid."\r\nDTSTAMP:".date("Ymd\THis\Z")."\r\nSUMMARY:".$name."\r\nDESCRIPTION:".$description."\r\nPRIORITY:1\r\nCLASS:PUBLIC\r\nEND:VEVENT\r\nEND:VCALENDAR";
header("Content-type:text/calendar; charset=utf-8");
header('Content-Disposition: inline; filename="'.$name.'.ics"');
echo $data;
?>
我尝试将插件的$uid
变量中的strotime更改为+5小时
,但似乎不起作用
任何帮助都将不胜感激
哦,我还在Wordpress设置中修改时区。当前设置为UTC-5,因此我认为将其改为芝加哥会有所帮助,但也没有。在下面的行中添加
X-WR-TIMEZONE:America/NewYork
$data=“BEGIN:VCALENDAR\r\n版本:2.0\r\n方法:发布\r\nX WR时区:美国/纽约\r\n
更新:我已经更新了整行代码,它使用DTSTART;VALUE=DATE:
而不使用Z
和DTEND
$data = "BEGIN:VCALENDAR\r\nVERSION:2.0\r\nMETHOD:PUBLISH\r\nX-WR-TIMEZONE:America/New_York\r\nBEGIN:VEVENT\r\nDTSTART;VALUE=DATE:".date("Ymd\THis",$start)."\r\nDTEND;VALUE=DATE:".date("Ymd\THis",$end)."\r\nLOCATION:".$location."\r\nTRANSP: OPAQUE\r\nSEQUENCE:0\r\nUID:".$uid."\r\nDTSTAMP:".date("Ymd\THis\Z")."\r\nSUMMARY:".$name."\r\nDESCRIPTION:".$description."\r\nPRIORITY:1\r\nCLASS:PUBLIC\r\nEND:VEVENT\r\nEND:VCALENDAR";
感谢您的快速回答。不过,这似乎不起作用。您能为我们提供提要的输出吗?当然可以:
http://thekaneko.org/wp-content/plugins/kaneko/calendarize-it-mods/ics_event.php?start=1376388000&end=1376409600&name=The%20Millennial%20Trains%20Project&description=&location=KANEKO%20|%201111%20Jones%20St&
I更新了上面的答案,试试我给你的新台词
<a href="<?php echo $ics_url; ?>">
$data = "BEGIN:VCALENDAR\r\nVERSION:2.0\r\nMETHOD:PUBLISH\r\nX-WR-TIMEZONE:America/New_York\r\nBEGIN:VEVENT\r\nDTSTART;VALUE=DATE:".date("Ymd\THis",$start)."\r\nDTEND;VALUE=DATE:".date("Ymd\THis",$end)."\r\nLOCATION:".$location."\r\nTRANSP: OPAQUE\r\nSEQUENCE:0\r\nUID:".$uid."\r\nDTSTAMP:".date("Ymd\THis\Z")."\r\nSUMMARY:".$name."\r\nDESCRIPTION:".$description."\r\nPRIORITY:1\r\nCLASS:PUBLIC\r\nEND:VEVENT\r\nEND:VCALENDAR";