" Any sufficiently complicated calendaring program contains an ad hoc, informally-specified, bug-ridden, slow implementation of half of RFC 5545
It’s well worth the read, and handles every situation that you can imagine, including the ones you can’t :). Any system I’ve ever come across that avoids using the iCalendar specification has, one way or another, regretted the choice later on."
iCal4j is a Java API that provides support for the iCalendar specification as defined in RFC2445. This support includes a Parser, Object Model and Generator for iCalendar data streams.
GCALDaemon is an OS-independent Java program that offers two-way synchronization between Google Calendar and various iCalendar compatible calendar applications. GCALDaemon is primarily designed as a calendar synchronizer but it can also be used as a Gmail