通过php ical生成的日历事件始终为1601年。如何解决它?

通过php ical生成的日历事件始终为1601年。如何解决它?,php,icalendar,Php,Icalendar,我正在用php创建ical日历事件,但始终从日期设置为1601年1月1日 这是我的密码 $ical = "BEGIN:VCALENDAR\r\n"; $ical .= "VERSION:2.0\r\n"; $ical .= "PRODID:-//YourCassavaLtd//EateriesDept//EN\r\n"; $ical .= "METHOD:REQUEST\r\n"; $ical .= "BEGIN:VEVENT\r\n"; $ical .= "ORGANIZER;SENT-BY=

我正在用php创建ical日历事件,但始终从日期设置为1601年1月1日

这是我的密码

$ical = "BEGIN:VCALENDAR\r\n";
$ical .= "VERSION:2.0\r\n";
$ical .= "PRODID:-//YourCassavaLtd//EateriesDept//EN\r\n";
$ical .= "METHOD:REQUEST\r\n";
$ical .= "BEGIN:VEVENT\r\n";
$ical .= "ORGANIZER;SENT-BY=\"MAILTO:support@cajunlodging.com\":MAILTO:support@cajunlodging.com\r\n";
$ical .= "ATTENDEE;CN=".$to_name.";ROLE=REQ-PARTICIPANT;PARTSTAT=ACCEPTED;RSVP=TRUE:mailto:".$to_address."\r\n";
$ical .= "UID:".strtoupper(md5($event_id))."helpdesk.myicloudapps.com\r\n";
$ical .= "SEQUENCE:0 \r\n";
$ical .= "STATUS:CONFIRMED\r\n";
$ical .= "DTSTAMPTZID=Africa/Nairobi:".date('Ymd').'T'.date('His')."\r\n";
$ical .= "DTSTART:".$date_start."\r\n";
$ical .= "DTEND:".$date_end."\r\n";
$ical .= "LOCATION:".$hotel."\r\n";
$ical .= "SUMMARY:".$title."\r\n";
$ical .= "DESCRIPTION:".$detail."\r\n";
$ical .= "BEGIN:VALARM\r\n";
$ical .= "TRIGGER:-PT15M\r\n";
$ical .= "ACTION:DISPLAY\r\n";
$ical .= "DESCRIPTION:Reminder\r\n";
$ical .= "END:VALARM\r\n";
$ical .= "END:VEVENT\r\n";
$ical .= "END:VCALENDAR\r\n";
日期格式类似于Ymd\THis


你们能告诉我哪里错了吗。

iCalendar文件的正确日期/时间格式是
yyyymmddthhmmsz

例如:
20151126T133000Z


末尾的Z代表“UTC时间”。此格式的日期必须为UTC时间。

iCalendar文件的正确日期/时间格式为
yyyymmddthhmmsz

例如:
20151126T133000Z


末尾的Z代表“UTC时间”。此格式的日期必须是UTC时间。

您说日期总是设置为1601年1月1日。我想你指的是开始日期。现在,您为人们提供的帮助是,您有一个名为$date\u start的变量

1601年1月1日是一个“特殊”日期(),它往往表示您没有正确设置日期变量,或者提供数据的任何东西都没有正确设置日期变量

一旦您有了一个有意义的日期变量,那么要使您的ics文件日期正确,$date\u start应该是一个采用批准的ics格式之一的字符串,可以是date或DATETIME

还要注意的是,在中有一个语法错误

“DTSTAMPTZID=非洲/内罗毕

如果要使用TZID,需要使用分号
“DTSTAMP;TZID=非洲/内罗毕…

你说日期总是设置为1601年1月1日。我想你指的是开始日期。现在,您为人们提供的帮助是,您有一个名为$date\u start的变量

1601年1月1日是一个“特殊”日期(),它往往表示您没有正确设置日期变量,或者提供数据的任何东西都没有正确设置日期变量

一旦您有了一个有意义的日期变量,那么要使您的ics文件日期正确,$date\u start应该是一个采用批准的ics格式之一的字符串,可以是date或DATETIME

还要注意的是,在中有一个语法错误

“DTSTAMPTZID=非洲/内罗毕

如果要使用TZID,需要使用分号
“DTSTAMP;TZID=非洲/内罗毕…

共享此脚本的实际输出。共享此脚本的实际输出。