BEGIN:VCALENDAR
CALSCALE:GREGORIAN
PRODID:-//Ximian//NONSGML Evolution Calendar//EN
VERSION:2.0
X-EVOLUTION-DATA-REVISION:2017-10-28T04:50:31.240215Z(0)
BEGIN:VTIMEZONE
TZID:/freeassociation.sourceforge.net/Asia/Kolkata
X-LIC-LOCATION:Asia/Kolkata
BEGIN:STANDARD
TZNAME:IST
DTSTART:19701014T230000
TZOFFSETFROM:+0530
TZOFFSETTO:+0530
END:STANDARD
END:VTIMEZONE
BEGIN:VTODO
UID:f13168013f7c8b9abc36c31e43028c34a3f40823
DTSTAMP:20171019T025556Z
SUMMARY:Trial
DTSTART;TZID=/freeassociation.sourceforge.net/Asia/Kolkata:
20171019T000000
DUE;TZID=/freeassociation.sourceforge.net/Asia/Kolkata:20171030T000000
PERCENT-COMPLETE:0
CLASS:PUBLIC
DESCRIPTION:Hello
SEQUENCE:2
CREATED:20171019T031330Z
LAST-MODIFIED:20171028T045031Z
CATEGORIES:Work
END:VTODO
END:VCALENDAR
的问题是在该行20-23,其中:
DTSTART;TZID=/freeassociation.sourceforge.net/Asia/Kolkata:
20171019T000000
DUE;TZID=/freeassociation.sourceforge.net/Asia/Kolkata:20171030T000000
所以,DTSTART的时间在下一行,而DUE的时间戳在同一行。因此,一个简单的python函数,如:
if line.startswith("DTSTART;TZID"):
line = next(finp)
dt = line.strip()[0:8]
将无法为两者工作。这一个不适用于DUE,为此我必须另外做一个没有next
的功能。
如何处理任何此类日期/时间等,而不考虑换行符?
我不知道为什么否定投票给定的,但它的刺激性当别人管理的时候把负面投票,但不在乎回答或说出为什么它是一个糟糕的问题。 – BaRud