CalendarHub offers you to keep your private/public calendar online.

You can view the calendar by day, week, month, year or as a list. When you create an event you can choose to put it Private or Public, reminders (via email), location, recurring and attendees (which will receive invitation via email).

One nice feature is when you have created an event you can drag’n’drop it between dates. You can also create several different calendars, for example one for work and one for personal. You can import (Outlook, Yahoo Calendar, ICal, and many others), export (CSV, ICS – ICalendar).

You can also share your calendar with other CalendarHub users or publish your calendar which creates a web page that anyone can view and you can subscribe to other user’s calendars.

Check out this Screencast for a good overview of the features: