如何将字符串格式的事件转换为DDay.iCal事件?

时间:2015-05-27 09:28:50

标签: dday

我有一个像这样的事件字符串:

BEGIN:VEVENT
CREATED;
VALUE=DATE:00010101 
DTSTAMP:20150527T074655Z 
DTSTART;VALUE=DATE:00010101  
EFFECTIVEDATETIME:2015-05-27T07:46:55.3203522+00:00 
RRULE:FREQ=DAILY;BYHOUR=12;BYMINUTE=0 
SEQUENCE:0 
SUMMARY:BLAH 
UID:0622249b-7161-4e31-9517-f51dddaa4cd8 
END:VEVENT

我如何将此Deserialize转变为DDay.iCal事件?

1 个答案:

答案 0 :(得分:1)

你无法对其进行反序列化,因为你发明的东西不是icalendar规范的一部分,并且ical.net不支持(dday.ical现在是ical.net) 。这些事情是畸形的,或者不存在:

CREATED;
VALUE=DATE:00010101
EFFECTIVEDATETIME:2015-05-27T07:46:55.3203522+00:00

查看有效VEVENT块的VEVENT文档: http://www.kanzaki.com/docs/ical/vevent.html

您的问题涉及ical.net API的弱点:您无法以零敲碎打的方式反序列化icalendar组件。在一个完美的世界中,你可以将你的字符串传递给Event构造函数,它会做正确的事情。

我有一张开放票,可以重新评估ical.net的解析和序列化,它将涵盖这个用例。到那里需要一些时间。

https://github.com/rianjs/ical.net/issues/22