Class Date

All Implemented Interfaces:
Serializable, Cloneable, Comparable<Date>

public class Date extends Date

A thin wrapper around a millisecond value that allows JDBC to identify this as an SQL DATE value. A milliseconds value represents the number of milliseconds that have passed since January 1, 1970 00:00:00.000 GMT.

To conform with the definition of SQL DATE, the millisecond values wrapped by a java.sql.Date instance must be 'normalized' by setting the hours, minutes, seconds, and milliseconds to zero in the particular time zone with which the instance is associated.

Since:
1.1
See Also:
  • Constructor Summary

    Constructors
    Constructor
    Description
    Date(int year, int month, int day)
    Deprecated.
    instead use the constructor Date(long date)
    Date(long date)
    Constructs a Date object using the given milliseconds time value.
  • Method Summary

    Modifier and Type
    Method
    Description
    int
    Deprecated. 
    int
    Deprecated. 
    int
    Deprecated. 
    void
    setHours(int i)
    Deprecated. 
    void
    setMinutes(int i)
    Deprecated. 
    void
    setSeconds(int i)
    Deprecated. 
    void
    setTime(long date)
    Sets an existing Date object using the given milliseconds time value.
    This method always throws an UnsupportedOperationException and should not be used because SQL Date values do not have a time component.
    Creates a LocalDate instance using the year, month and day from this Date object.
    Formats a date in the date escape format yyyy-mm-dd.
    static Date
    Converts a string in JDBC date escape format to a Date value.
    static Date
    Obtains an instance of Date from a LocalDate object with the same year, month and day of month value as the given LocalDate.

    Methods declared in class Date

    after, before, clone, compareTo, equals, from, getDate, getDay, getMonth, getTime, getTimezoneOffset, getYear, hashCode, parse, setDate, setMonth, setYear, toGMTString, toLocaleString, UTC
    Modifier and Type
    Method
    Description
    boolean
    after(Date when)
    Tests if this date is after the specified date.
    boolean
    before(Date when)
    Tests if this date is before the specified date.
    Return a copy of this object.
    int
    compareTo(Date anotherDate)
    Compares two Dates for ordering.
    boolean
    Compares two dates for equality.
    static Date
    from(Instant instant)
    Obtains an instance of Date from an Instant object.
    int
    Deprecated.
    As of JDK version 1.1, replaced by Calendar.get(Calendar.DAY_OF_MONTH).
    int
    Deprecated.
    As of JDK version 1.1, replaced by Calendar.get(Calendar.DAY_OF_WEEK).
    int
    Deprecated.
    As of JDK version 1.1, replaced by Calendar.get(Calendar.MONTH).
    long
    Returns the number of milliseconds since January 1, 1970, 00:00:00 GMT represented by this Date object.
    int
    Deprecated.
    As of JDK version 1.1, replaced by -(Calendar.get(Calendar.ZONE_OFFSET) + Calendar.get(Calendar.DST_OFFSET)) / (60 * 1000).
    int
    Deprecated.
    As of JDK version 1.1, replaced by Calendar.get(Calendar.YEAR) - 1900.
    int
    Returns a hash code value for this object.
    static long
    Deprecated.
    As of JDK version 1.1, replaced by DateFormat.parse(String s).
    void
    setDate(int date)
    Deprecated.
    As of JDK version 1.1, replaced by Calendar.set(Calendar.DAY_OF_MONTH, int date).
    void
    setMonth(int month)
    Deprecated.
    As of JDK version 1.1, replaced by Calendar.set(Calendar.MONTH, int month).
    void
    setYear(int year)
    Deprecated.
    As of JDK version 1.1, replaced by Calendar.set(Calendar.YEAR, year + 1900).
    Deprecated.
    As of JDK version 1.1, replaced by DateFormat.format(Date date), using a GMT TimeZone.
    Deprecated.
    As of JDK version 1.1, replaced by DateFormat.format(Date date).
    static long
    UTC(int year, int month, int date, int hrs, int min, int sec)
    Deprecated.
    As of JDK version 1.1, replaced by Calendar.set(year + 1900, month, date, hrs, min, sec) or GregorianCalendar(year + 1900, month, date, hrs, min, sec), using a UTC TimeZone, followed by Calendar.getTime().getTime().

    Methods declared in class Object

    finalize, getClass, notify, notifyAll, wait, wait, wait
    Modifier and Type
    Method
    Description
    protected void
    Deprecated, for removal: This API element is subject to removal in a future version.
    Finalization is deprecated and subject to removal in a future release.
    final Class<?>
    Returns the runtime class of this Object.
    final void
    Wakes up a single thread that is waiting on this object's monitor.
    final void
    Wakes up all threads that are waiting on this object's monitor.
    final void
    Causes the current thread to wait until it is awakened, typically by being notified or interrupted.
    final void
    wait(long timeoutMillis)
    Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.
    final void
    wait(long timeoutMillis, int nanos)
    Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.
  • Constructor Details

    • Date

      @Deprecated(since="1.2") public Date(int year, int month, int day)
      Deprecated.
      instead use the constructor Date(long date)
      Constructs a Date object initialized with the given year, month, and day.

      The result is undefined if a given argument is out of bounds.

      Parameters:
      year - the year minus 1900; must be 0 to 8099. (Note that 8099 is 9999 minus 1900.)
      month - 0 to 11
      day - 1 to 31
    • Date

      public Date(long date)
      Constructs a Date object using the given milliseconds time value. If the given milliseconds value contains time information, the driver will set the time components to the time in the default time zone (the time zone of the Java virtual machine running the application) that corresponds to zero GMT.
      Parameters:
      date - milliseconds since January 1, 1970, 00:00:00 GMT not to exceed the milliseconds representation for the year 8099. A negative number indicates the number of milliseconds before January 1, 1970, 00:00:00 GMT.
  • Method Details

    • setTime

      public void setTime(long date)
      Sets an existing Date object using the given milliseconds time value. If the given milliseconds value contains time information, the driver will set the time components to the time in the default time zone (the time zone of the Java virtual machine running the application) that corresponds to zero GMT.
      Overrides:
      setTime in class Date
      Parameters:
      date - milliseconds since January 1, 1970, 00:00:00 GMT not to exceed the milliseconds representation for the year 8099. A negative number indicates the number of milliseconds before January 1, 1970, 00:00:00 GMT.
    • valueOf

      public static Date valueOf(String s)
      Converts a string in JDBC date escape format to a Date value.
      Parameters:
      s - a String object representing a date in in the format "yyyy-[m]m-[d]d". The leading zero for mm and dd may also be omitted.
      Returns:
      a java.sql.Date object representing the given date
      Throws:
      IllegalArgumentException - if the date given is not in the JDBC date escape format (yyyy-[m]m-[d]d)
    • toString

      public String toString()
      Formats a date in the date escape format yyyy-mm-dd.
      Overrides:
      toString in class Date
      Returns:
      a String in yyyy-mm-dd format
      See Also:
    • getHours

      @Deprecated(since="1.2") public int getHours()
      Deprecated.
      This method is deprecated and should not be used because SQL Date values do not have a time component.
      Overrides:
      getHours in class Date
      Returns:
      the hour represented by this date.
      Throws:
      IllegalArgumentException - if this method is invoked
      See Also:
    • getMinutes

      @Deprecated(since="1.2") public int getMinutes()
      Deprecated.
      This method is deprecated and should not be used because SQL Date values do not have a time component.
      Overrides:
      getMinutes in class Date
      Returns:
      the number of minutes past the hour represented by this date.
      Throws:
      IllegalArgumentException - if this method is invoked
      See Also:
    • getSeconds

      @Deprecated(since="1.2") public int getSeconds()
      Deprecated.
      This method is deprecated and should not be used because SQL Date values do not have a time component.
      Overrides:
      getSeconds in class Date
      Returns:
      the number of seconds past the minute represented by this date.
      Throws:
      IllegalArgumentException - if this method is invoked
      See Also:
    • setHours

      @Deprecated(since="1.2") public void setHours(int i)
      Deprecated.
      This method is deprecated and should not be used because SQL Date values do not have a time component.
      Overrides:
      setHours in class Date
      Parameters:
      i - the hour value.
      Throws:
      IllegalArgumentException - if this method is invoked
      See Also:
    • setMinutes

      @Deprecated(since="1.2") public void setMinutes(int i)
      Deprecated.
      This method is deprecated and should not be used because SQL Date values do not have a time component.
      Overrides:
      setMinutes in class Date
      Parameters:
      i - the value of the minutes.
      Throws:
      IllegalArgumentException - if this method is invoked
      See Also:
    • setSeconds

      @Deprecated(since="1.2") public void setSeconds(int i)
      Deprecated.
      This method is deprecated and should not be used because SQL Date values do not have a time component.
      Overrides:
      setSeconds in class Date
      Parameters:
      i - the seconds value.
      Throws:
      IllegalArgumentException - if this method is invoked
      See Also:
    • valueOf

      public static Date valueOf(LocalDate date)
      Obtains an instance of Date from a LocalDate object with the same year, month and day of month value as the given LocalDate.

      The provided LocalDate is interpreted as the local date in the local time zone.

      Parameters:
      date - a LocalDate to convert
      Returns:
      a Date object
      Throws:
      NullPointerException - if date is null
      Since:
      1.8
    • toLocalDate

      public LocalDate toLocalDate()
      Creates a LocalDate instance using the year, month and day from this Date object.
      Returns:
      a LocalDate object representing the same date value
      Since:
      1.8
    • toInstant

      public Instant toInstant()
      This method always throws an UnsupportedOperationException and should not be used because SQL Date values do not have a time component.
      Overrides:
      toInstant in class Date
      Returns:
      an instant representing the same point on the time-line as this Date object
      Throws:
      UnsupportedOperationException - if this method is invoked