The KDE Community
KCalendarCore
Library provides access to and handling of calendar data.
KCalendarCore introduction
It supports the standard formats iCalendar and vCalendar and the group scheduling standard iTIP.
A calendar contains information like incidences (events, to-dos, journals), alarms, time zones, and other useful information. This API provides access to that calendar information via well-known calendar formats iCalendar (or iCal) and the older vCalendar.
Credit goes to Eric Bossum <eric@softwarestudio.org> for his libical software that does most of the heavy-lifting of the iCalendar support that is abstracted by this API.