首页 > 代码库 > Java Date Classes

Java Date Classes

The main change in the Java 8 date time API is that date and time is now no longer represented by a single number of milliseconds since Jan. 1st 1970, but by the number of seconds and nanoseconds since Jan. 1st 1970. The number of seconds can be both positive and negative and is represented by a long. The number of nanoseconds is always positive and is represented by an int. You will see this new date and time representation in many of the classes in the new Java date time API.

The java.time package also contains a set of subpackages which contain more utilities etc. For instance the java.time.chrono contains classes to work with Japanese, Thai, Taiwanese and Islamic calendars. The java.time.format package contains classes used to parse and format dates from and to strings.

The core of the Java 8 date time API consists of the following classes:

InstantRepresents an instant in time on the time line. In the Java 7 date time API an instant was typically represented by a number of millseconds since Jan. 1st. 1970. In Java 8 the Instant class represents an instant in time represented by a number of seconds and a number of nanoseconds since Jan. 1st 1970.
DurationRepresents a duration of time, for instance the time between two instants. Like the Instant class a Duration represents its time as a number of seconds and nanoseconds.
LocalDateRepresents a date without time zone information - e.g. a birthday, official holiday etc.
LocalDateTimeRepresents a date and time without time zone information
LocalTimeRepresents a local time of day without time zone information.
TemporalAdjuster 
ZonedDateTimeRepresents a date and time including time zone information
Period 
DateTimeFormatterFormats date time objects as Strings. For instance a ZonedDateTime or aLocalDateTime.

Java 7 Date Time API

Java 7 has the following date and time classes and methods. Each of these classes are also explained in their own pages, later. See the links at the bottom of this page, or at the top right of every page.

 

System.currentTimeMillis()A static method that returns the current date and time as milliseconds since January 1st 1970
java.util.DateA class that represents a date and time. Most methods in this class is deprecated.
java.sql.DateA class that represents a date. All time information cut off. This date class is used with JDBC.
java.sql.TimestampA class that represents a date and time. This date and time class is used with JDBC.
java.util.CalendarA base class for calendar classes. Has methods to do date and time arithmethics like adding a day or month to another date.
java.util.GregorianCalendarA concrete class subclassing java.util.Calendar, representing the Gregorian calendar which is used in most of the western world today. Has all the methods from java.util.Calendar to do date and time arithmethics.
java.util.TimeZoneThe Java TimeZone class is a class that represents time zones, and is helpful when doing calendar arithmetics across time zones.
java.text.SimpleDateFormatA class that can help you parse String‘s into Date‘s, and format Date‘s as String‘s.

Java Date Classes