ical使用php,无需设置时区

ical使用php,无需设置时区,php,datetime,timezone,google-calendar-api,icalendar,Php,Datetime,Timezone,Google Calendar Api,Icalendar,我已经从php创建了ical文件,它运行良好。但当我导入谷歌日历时,它会改变时间 经过研究,这是时区问题。因此,我尝试通过从时间中删除Z(UTC)来修复它,但导入后时间仍然错误 是否有一种方法,如果我设置了以下事件时间,那么无论他们为那里的日历设置了哪个时区,所有导入都可以正常工作 $ical ="BEGIN:VCALENDAR\n". "VERSION:2.0\n". "PRODID:-//hacksw/handc

我已经从php创建了ical文件,它运行良好。但当我导入谷歌日历时,它会改变时间

经过研究,这是时区问题。因此,我尝试通过从时间中删除Z(UTC)来修复它,但导入后时间仍然错误

是否有一种方法,如果我设置了以下事件时间,那么无论他们为那里的日历设置了哪个时区,所有导入都可以正常工作

        $ical ="BEGIN:VCALENDAR\n".
                "VERSION:2.0\n".
                "PRODID:-//hacksw/handcal//NONSGML v1.0//EN\n";

        $start  = strtotime('2013-7-26 2:36 am');
        $end    = (60*1); // end in one minute

         $ical .="BEGIN:VEVENT\n".
                        "UID:" . md5(uniqid(mt_rand(), true)) . "@".site::$domain_only."\n".
                        "DTSTAMP:" . date('Ymd\THis'). "\n".
                        "DTSTART:" . date('Ymd\THis', $start)."\n".
                        "DTEND:" . date('Ymd\THis', $start+$end)."\n".
                        "SUMMARY: My Event\n".
                        "END:VEVENT\nEND:VCALENDAR";

您可以用一行设置日历的时区

X-WR-TIMEZONE:America/New_York

您可以用一行设置日历的时区

X-WR-TIMEZONE:America/New_York

iCalendar实现这一点的正确方法是使用他们称之为“浮动时间”的方法,它完全按照您的要求执行,您实际上只需从时间中删除Z


如果google calendar不支持浮动时间,那么这意味着他们不支持浮动时间,不幸的是,答案是“这是不可能的”。

iCalendar实现这一点的正确方法是使用他们称之为“浮动时间”的方式,它完全按照您的意愿执行,您确实只需从时间中删除Z


如果google calendar不支持此功能,则表示他们不支持浮动时间,不幸的是,答案是“这是不可能的”。

是的,但我想设置不支持时区的事件。如果你把我们的日历导入伦敦时区。它仍应在凌晨2:00显示事件,如果事件已导入纽约时区,则时间仍应为凌晨2:00。我如何才能做到这一点?是的,但我想在没有时区支持的情况下设置事件。如果你把我们的日历导入伦敦时区。它仍应在凌晨2:00显示事件,如果事件已导入纽约时区,则时间仍应为凌晨2:00。我怎样才能做到这一点呢?看看这个老的Google群组线程,Google Calendar可能仍然不支持浮动时间@Evert,谢谢,知道这个很有意思!看看这个老的Google群组线程,Google Calendar可能仍然不支持浮动时间@Evert感谢您的关注!