1

这个问题真的让我很沮丧。我正在开发一个为用户创建 ical 文件的 webapp。

我面临的问题是,每当 ical 事件每周或每天或每月重复时,Lotus Notes 中的开始时间就会显示错误。正如您在以下文件中看到的,开始时间是上午 9:00,但是在 Lotus Notes(带有日历的电子邮件客户端)中,这显示完全错误(如上午 5:00)。我尝试向 DTSTART 和 DTEND 添加时区,但这并不能解决问题,反而会产生更多问题。语法可能有问题吗?用我生成ical文件的方式?由于某种原因,结束时间也正确显示,只有开始时间是错误的。

BEGIN:VCALENDAR
PRODID:-//Test event//iCal4j 1.0//EN
VERSION:2.0
BEGIN:VEVENT
DTSTAMP:20120730T124016Z
DTSTART:20120730T090014
DTEND:20120730T100014
SUMMARY:Test Meeting
UID:3988c7e1-4dd1-4e0c-b132-e829beac0592
LOCATION:test: at CR
DESCRIPTION:
RRULE:FREQ=WEEKLY;COUNT=30
END:VEVENT
END:VCALENDAR
4

1 回答 1

2

我想通了,我只需要指定一个 Vtimezone。如果其他人遇到这个问题;像下面这样的东西可以解决它。

> BEGIN:VTIMEZONE TZID:Eastern BEGIN:STANDARD DTSTART:19501105T020000
> TZOFFSETFROM:-0400 TZOFFSETTO:-0500
> RRULE:FREQ=YEARLY;BYMINUTE=0;BYHOUR=2;BYDAY=1SU;BYMONTH=11
> END:STANDARD BEGIN:DAYLIGHT DTSTART:19500312T020000 TZOFFSETFROM:-0500
> TZOFFSETTO:-0400
> RRULE:FREQ=YEARLY;BYMINUTE=0;BYHOUR=2;BYDAY=2SU;BYMONTH=3 END:DAYLIGHT
> END:VTIMEZONE
于 2012-07-30T17:43:26.630 回答