Date (Java Platform SE 8 )
Keywords: java.sql.Date class
Date: 2016-10-23

compact2, compact3
java.sql

## Class Date

- java.lang.Object
- - java.util.Date
  - - java.sql.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.

  See Also:
    Serialized Form

- - ### Constructor Summary

    Constructors
    Constructor and 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

    All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `getHours()` Deprecated.
    `int` | `getMinutes()` Deprecated.
    `int` | `getSeconds()` 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.
    `Instant` | `toInstant()` This method always throws an UnsupportedOperationException and should not be used because SQL `Date` values do not have a time component.
    `LocalDate` | `toLocalDate()` Converts this `Date` object to a `LocalDate`
    `String` | `toString()` Formats a date in the date escape format yyyy-mm-dd.
    `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`.
    `static Date` | `valueOf(String s)` Converts a string in JDBC date escape format to a `Date` value.

    - ### Methods inherited from class java.util.Date

      `after, before, clone, compareTo, equals, from, getDate, getDay, getMonth, getTime, getTimezoneOffset, getYear, hashCode, parse, setDate, setMonth, setYear, toGMTString, toLocaleString, UTC`

    - ### Methods inherited from class java.lang.Object

      `finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### Date

          @Deprecated
          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 Detail

    - #### 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:
        `Date.toLocaleString()`, `Date.toGMTString()`

    - #### getHours

          @Deprecated
          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:
        `setHours(int)`

    - #### getMinutes

          @Deprecated
          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:
        `setMinutes(int)`

    - #### getSeconds

          @Deprecated
          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:
        `setSeconds(int)`

    - #### setHours

          @Deprecated
          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:
        `getHours()`

    - #### setMinutes

          @Deprecated
          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:
        `getMinutes()`

    - #### setSeconds

          @Deprecated
          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:
        `getSeconds()`

    - #### 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()

      Converts this `Date` object to a `LocalDate`

      The conversion creates a `LocalDate` that represents the same date value as this `Date` in local time zone

      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

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2016, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.