iCalendar Date / Time Format |
Top Previous Next |
iCalendar is a common format for exchanging calendar and scheduling information over the Internet. Note: If you want to learn more about iCalendar read RFC 2445.
Format
"FREQ"=freq *(
; either UNTIL or COUNT may appear here, ; but UNTIL and COUNT MUST NOT occur in a same string
( ";" "UNTIL" "=" enddate ) / ( ";" "COUNT" "=" 1*DIGIT ) /
; the rest of these keywords are optional, ; but MUST NOT occur more than once
( ";" "INTERVAL" "=" 1*DIGIT ) / ( ";" "BYSECOND" "=" byseclist ) / ( ";" "BYMINUTE" "=" byminlist ) / ( ";" "BYHOUR" "=" byhrlist ) / ( ";" "BYDAY" "=" bywdaylist ) / ( ";" "BYMONTHDAY" "=" bymodaylist ) / ( ";" "BYYEARDAY" "=" byyrdaylist ) / ( ";" "BYWEEKNO" "=" bywknolist ) / ( ";" "BYMONTH" "=" bymolist ) / ( ";" "BYSETPOS" "=" bysplist ) / ( ";" "WKST" "=" weekday ) / ( ";" x-name "=" text ) )
freq = "SECONDLY" / "MINUTELY" / "HOURLY" / "DAILY" / "WEEKLY" / "MONTHLY" / "YEARLY"
enddate = date enddate =/ date-time
byseclist = seconds / ( seconds *("," seconds) )
seconds = 1DIGIT / 2DIGIT
byminlist = minutes / ( minutes *("," minutes) )
minutes = 1DIGIT / 2DIGIT
byhrlist = hour / ( hour *("," hour) )
hour = 1DIGIT / 2DIGIT
bywdaylist = weekdaynum / ( weekdaynum *("," weekdaynum) )
weekdaynum = [([plus] ordwk / minus ordwk)] weekday
plus = "+"
minus = "-"
ordwk = 1DIGIT / 2DIGIT
weekday = "SU" / "MO" / "TU" / "WE" / "TH" / "FR" / "SA"
bymodaylist = monthdaynum / ( monthdaynum *("," monthdaynum) )
monthdaynum = ([plus] ordmoday) / (minus ordmoday)
ordmoday = 1DIGIT / 2DIGIT
byyrdaylist = yeardaynum / ( yeardaynum *("," yeardaynum) )
yeardaynum = ([plus] ordyrday) / (minus ordyrday)
ordyrday = 1DIGIT / 2DIGIT / 3DIGIT
bywknolist = weeknum / ( weeknum *("," weeknum) )
weeknum = ([plus] ordwk) / (minus ordwk)
bymolist = monthnum / ( monthnum *("," monthnum) )
monthnum = 1DIGIT / 2DIGIT
bysplist = setposday / ( setposday *("," setposday) )
setposday = yeardaynum
Examples
The last working day of the month written as iCalendar: FREQ=MONTHLY;BYDAY=MO,TU,WE,TH,FR;BYSETPOS=-1
10 meetings every other day: FREQ=DAILY;COUNT=10;INTERVAL=2
July 14, 1997, at 1:30 PM: 19970714T173000Z
Related topics: |