A date object represents a specific time with millisecond precision. A Calendar object interprets a Date according to the rules of a speicfic calendar system. Currently, GregorianCalendar is currently the only Calendar implementation. TimeZone is an abstract class representing a time zone offset (eg. PST, EST, GMT+02). For an implementation based on the GregorianCalendar, use SimpleTimeZone.