例えば毎月12月繰り返しのス”m12″というスケジュールを登録すると次のようなicsファイルが出力される。
BEGIN:VEVENT DTSTAMP:20151005T061820Z DTSTART:20150712T160000 DTEND:20150712T170000 SUMMARY:m12 UID:20151005T061821Z-9451@fe80:0:0:0:b875:86ff:fe8b:3908%awdl0 RRULE:FREQ=MONTHLY;UNTIL=20160105T000000;BYMONTH=1,2,3,4,5,6,7,8,9,10,11,12;BYMONTHDAY=12 END:VEVENT BEGIN:VEVENT
ここでDTSTART, DTENDはScheduleiCalScreen.javaのdStart, dEndに対応していてこの部分がスケジュールの本体?に対応している。
その後RRULEで規則を決める。FREQで繰り返し頻度、UNTILでその予定をどこまで表示するのかなどである。
DTSTART, DTENDが表示期間指定を示しているのかと勘違いしていたことや、DTSTARTなどがコードの何に対応しているかがわからなかったことで結構時間を使ってしまった。またUNTILで指定した日付以降のDTSTART, DTENDを指定しても予定が入ってしまうことなどにも悩まされた。