Icalendar日期问题

时间:2016-03-21 14:46:14

标签: c# icalendar

我在我的项目中使用了Icalendar,我面临着一个关于重复请求的奇怪问题。我正在通过DTSTART 28游行,但日历是在3月29日生成的。复发直到3月30日。我的icalendar如下

BEGIN:VCALENDAR
PRODID:-//Team Test
VERSION:2.0
METHOD:REQUEST
BEGIN:VTIMEZONE
TZID:Asia/Kolkata
BEGIN:STANDARD
TZOFFSETFROM:+0530
TZOFFSETTO:+0530
TZNAME:IST
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
DTSTART:20160328T223000Z
DTSTAMP:20160321T140058Z
DTEND:20160328T230000Z
RRULE:FREQ=DAILY;UNTIL=20160330T173000Z
LOCATION:  
UID:request180107lvis.support@mycompanydomain.com
DESCRIPTION:Requester : Yadav, Chandikumar +() +919876543210
X-ALT-DESC;FMTTYPE=text/html:Requester : Yadav, Chandikumar +() +919876543210

SUMMARY:Conference Testing
ORGANIZER:MAILTO:test.support@mycompanydomain.com
ATTENDEE;ROLE=REQ-PARTICIPANT;CN="";RSVP=TRUE:mailto:chandikumar.yadav@mycompanydomain.com
ATTENDEE;ROLE=REQ-PARTICIPANT;CN="";RSVP=TRUE:mailto:jatin.kolhe@mycompanydomain.com
ATTENDEE;PARTSTAT=ACCEPTED;CN="Testing":mailto:test.lvis.support@mycompanydomain.com
ATTACH;FMTTYPE=message/rfc822:D:\Projects\abc.pdf
BEGIN:VALARM
TRIGGER:-PT15M
ACTION:DISPLAY
DESCRIPTION:Reminder
END:VALARM
END:VEVENT
END:VCALENDAR

我已通过DTSTART,DTEND和UNTIL。无法弄清问题在哪里。

1 个答案:

答案 0 :(得分:0)

您指定:

20160328T223000Z

根据iCalendar文档的其余部分,我猜你实际上是在这个时区:

Asia/Kolkata

由于这是UTC + 5:30,我猜测新生成的时间是:

2016-03-29 04:00:00 in your own timezone

如果您想在当前时区中指定时间,请确保将TZID添加到所有DATE-TIME字段,例如DTSTART,并且不要包含{{1}在时间戳的末尾。 (Z代表祖鲁时间,即UTC)