Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels) Summary: [Ctors](https://developer.android.com/reference/java/sql/Date#pubctors) \| [Methods](https://developer.android.com/reference/java/sql/Date#pubmethods) \| [Inherited Methods](https://developer.android.com/reference/java/sql/Date#inhmethods)

# Date

` public class Date `   
` ` ` extends https://developer.android.com/reference/java/util/Date ` ` `

|---|---|---|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object) |||
| ↳ | [java.util.Date](https://developer.android.com/reference/java/util/Date) ||
|   | ↳ | java.sql.Date |

<br />

*** ** * ** ***

<br />

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.

## Summary

| ### Public constructors ||
|---|---|
| ` https://developer.android.com/reference/java/sql/Date#Date(int,%20int,%20int)(int year, int month, int day) ` *This constructor is deprecated. instead use the constructor `Date(long date)`* |
| ` https://developer.android.com/reference/java/sql/Date#Date(long)(long date) ` Constructs a `Date` object using the given milliseconds time value. |

| ### Public methods ||
|---|---|
| ` int` | ` https://developer.android.com/reference/java/sql/Date#getHours()() ` *This method is deprecated. This method is deprecated and should not be used because SQL Date values do not have a time component.* |
| ` int` | ` https://developer.android.com/reference/java/sql/Date#getMinutes()() ` *This method is deprecated. This method is deprecated and should not be used because SQL Date values do not have a time component.* |
| ` int` | ` https://developer.android.com/reference/java/sql/Date#getSeconds()() ` *This method is deprecated. This method is deprecated and should not be used because SQL Date values do not have a time component.* |
| ` void` | ` https://developer.android.com/reference/java/sql/Date#setHours(int)(int i) ` *This method is deprecated. This method is deprecated and should not be used because SQL Date values do not have a time component.* |
| ` void` | ` https://developer.android.com/reference/java/sql/Date#setMinutes(int)(int i) ` *This method is deprecated. This method is deprecated and should not be used because SQL Date values do not have a time component.* |
| ` void` | ` https://developer.android.com/reference/java/sql/Date#setSeconds(int)(int i) ` *This method is deprecated. This method is deprecated and should not be used because SQL Date values do not have a time component.* |
| ` void` | ` https://developer.android.com/reference/java/sql/Date#setTime(long)(long date) ` Sets an existing `Date` object using the given milliseconds time value. |
| ` https://developer.android.com/reference/java/lang/String` | ` https://developer.android.com/reference/java/sql/Date#toString()() ` Formats a date in the date escape format yyyy-mm-dd. |
| ` static https://developer.android.com/reference/java/sql/Date` | ` https://developer.android.com/reference/java/sql/Date#valueOf(java.lang.String)(https://developer.android.com/reference/java/lang/String s) ` Converts a string in JDBC date escape format to a `Date` value. |

### Inherited methods

From class ` https://developer.android.com/reference/java/util/Date ` ` static long` ` https://developer.android.com/reference/java/util/Date#UTC(int,%20int,%20int,%20int,%20int,%20int)(int year, int month, int date, int hrs, int min, int sec) `

*This method was deprecated in API level 15. 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()`.*
` boolean` ` https://developer.android.com/reference/java/util/Date#after(java.util.Date)(https://developer.android.com/reference/java/util/Date when) `

Tests if this date is after the specified date.
` boolean` ` https://developer.android.com/reference/java/util/Date#before(java.util.Date)(https://developer.android.com/reference/java/util/Date when) `

Tests if this date is before the specified date.
` https://developer.android.com/reference/java/lang/Object` ` https://developer.android.com/reference/java/util/Date#clone()() `

Return a copy of this object.
` int` ` https://developer.android.com/reference/java/util/Date#compareTo(java.util.Date)(https://developer.android.com/reference/java/util/Date anotherDate) `

Compares two Dates for ordering.
` boolean` ` https://developer.android.com/reference/java/util/Date#equals(java.lang.Object)(https://developer.android.com/reference/java/lang/Object obj) `

Compares two dates for equality.
` static https://developer.android.com/reference/java/util/Date` ` https://developer.android.com/reference/java/util/Date#from(java.time.Instant)(https://developer.android.com/reference/java/time/Instant instant) `

Obtains an instance of `Date` from an `Instant` object.
` int` ` https://developer.android.com/reference/java/util/Date#getDate()() `

*This method was deprecated in API level 15. As of JDK version 1.1, replaced by `Calendar.get(Calendar.DAY_OF_MONTH)`.*
` int` ` https://developer.android.com/reference/java/util/Date#getDay()() `

*This method was deprecated in API level 15. As of JDK version 1.1, replaced by `Calendar.get(Calendar.DAY_OF_WEEK)`.*
` int` ` https://developer.android.com/reference/java/util/Date#getHours()() `

*This method was deprecated in API level 15. As of JDK version 1.1, replaced by `Calendar.get(Calendar.HOUR_OF_DAY)`.*
` int` ` https://developer.android.com/reference/java/util/Date#getMinutes()() `

*This method was deprecated in API level 15. As of JDK version 1.1, replaced by `Calendar.get(Calendar.MINUTE)`.*
` int` ` https://developer.android.com/reference/java/util/Date#getMonth()() `

*This method was deprecated in API level 15. As of JDK version 1.1, replaced by `Calendar.get(Calendar.MONTH)`.*
` int` ` https://developer.android.com/reference/java/util/Date#getSeconds()() `

*This method was deprecated in API level 15. As of JDK version 1.1, replaced by `Calendar.get(Calendar.SECOND)`.*
` long` ` https://developer.android.com/reference/java/util/Date#getTime()() `

Returns the number of milliseconds since January 1, 1970, 00:00:00 GMT represented by this `Date` object.
` int` ` https://developer.android.com/reference/java/util/Date#getTimezoneOffset()() `

*This method was deprecated in API level 15. As of JDK version 1.1, replaced by `-(Calendar.get(Calendar.ZONE_OFFSET) + Calendar.get(Calendar.DST_OFFSET)) / (60 * 1000)`.*
` int` ` https://developer.android.com/reference/java/util/Date#getYear()() `

*This method was deprecated in API level 15. As of JDK version 1.1, replaced by `Calendar.get(Calendar.YEAR) - 1900`.*
` int` ` https://developer.android.com/reference/java/util/Date#hashCode()() `

Returns a hash code value for this object.
` static long` ` https://developer.android.com/reference/java/util/Date#parse(java.lang.String)(https://developer.android.com/reference/java/lang/String s) `

*This method was deprecated in API level 15. As of JDK version 1.1, replaced by `DateFormat.parse(String s)`.*
` void` ` https://developer.android.com/reference/java/util/Date#setDate(int)(int date) `

*This method was deprecated in API level 15. As of JDK version 1.1, replaced by `Calendar.set(Calendar.DAY_OF_MONTH, int date)`.*
` void` ` https://developer.android.com/reference/java/util/Date#setHours(int)(int hours) `

*This method was deprecated in API level 15. As of JDK version 1.1, replaced by `Calendar.set(Calendar.HOUR_OF_DAY, int hours)`.*
` void` ` https://developer.android.com/reference/java/util/Date#setMinutes(int)(int minutes) `

*This method was deprecated in API level 15. As of JDK version 1.1, replaced by `Calendar.set(Calendar.MINUTE, int minutes)`.*
` void` ` https://developer.android.com/reference/java/util/Date#setMonth(int)(int month) `

*This method was deprecated in API level 15. As of JDK version 1.1, replaced by `Calendar.set(Calendar.MONTH, int month)`.*
` void` ` https://developer.android.com/reference/java/util/Date#setSeconds(int)(int seconds) `

*This method was deprecated in API level 15. As of JDK version 1.1, replaced by `Calendar.set(Calendar.SECOND, int seconds)`.*
` void` ` https://developer.android.com/reference/java/util/Date#setTime(long)(long time) `

Sets this `Date` object to represent a point in time that is `time` milliseconds after January 1, 1970 00:00:00 GMT.
` void` ` https://developer.android.com/reference/java/util/Date#setYear(int)(int year) `

*This method was deprecated in API level 15. As of JDK version 1.1, replaced by `Calendar.set(Calendar.YEAR, year + 1900)`.*
` https://developer.android.com/reference/java/lang/String` ` https://developer.android.com/reference/java/util/Date#toGMTString()() `

*This method was deprecated in API level 15. As of JDK version 1.1, replaced by `DateFormat.format(Date date)`, using a GMT `TimeZone`.*
` https://developer.android.com/reference/java/time/Instant` ` https://developer.android.com/reference/java/util/Date#toInstant()() `

Converts this `Date` object to an `Instant`.
` https://developer.android.com/reference/java/lang/String` ` https://developer.android.com/reference/java/util/Date#toLocaleString()() `

*This method was deprecated in API level 15. As of JDK version 1.1, replaced by `DateFormat.format(Date date)`.*
` https://developer.android.com/reference/java/lang/String` ` https://developer.android.com/reference/java/util/Date#toString()() `

Converts this `Date` object to a `String` of the form:
>
> ```
> dow mon dd hh:mm:ss zzz yyyy
> ```
where:

- `dow` is the day of the week (`Sun, Mon, Tue, Wed, Thu, Fri, Sat`).

  <br />

From class ` https://developer.android.com/reference/java/lang/Object ` ` https://developer.android.com/reference/java/lang/Object` ` https://developer.android.com/reference/java/lang/Object#clone()() `

Creates and returns a copy of this object.
` boolean` ` https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object)(https://developer.android.com/reference/java/lang/Object obj) `

Indicates whether some other object is "equal to" this one.
` void` ` https://developer.android.com/reference/java/lang/Object#finalize()() `

Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.
` final https://developer.android.com/reference/java/lang/Class<?>` ` https://developer.android.com/reference/java/lang/Object#getClass()() `

Returns the runtime class of this `Object`.
` int` ` https://developer.android.com/reference/java/lang/Object#hashCode()() `

Returns a hash code value for the object.
` final void` ` https://developer.android.com/reference/java/lang/Object#notify()() `

Wakes up a single thread that is waiting on this object's monitor.
` final void` ` https://developer.android.com/reference/java/lang/Object#notifyAll()() `

Wakes up all threads that are waiting on this object's monitor.
` https://developer.android.com/reference/java/lang/String` ` https://developer.android.com/reference/java/lang/Object#toString()() `

Returns a string representation of the object.
` final void` ` https://developer.android.com/reference/java/lang/Object#wait(long,%20int)(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.
` final void` ` https://developer.android.com/reference/java/lang/Object#wait(long)(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` ` https://developer.android.com/reference/java/lang/Object#wait()() `

Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*.
From interface ` https://developer.android.com/reference/java/lang/Comparable ` ` abstract int` ` https://developer.android.com/reference/java/lang/Comparable#compareTo(T)(https://developer.android.com/reference/java/util/Date o) `

Compares this object with the specified object for order.

## Public constructors

### Date

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public Date (int year, 
                int month, 
                int day)
```

<br />

**This constructor is 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.

<br />

| Parameters ||
|---|---|
| `year` | `int`: the year minus 1900; must be 0 to 8099. (Note that 8099 is 9999 minus 1900.) <br /> |
| `month` | `int`: 0 to 11 <br /> |
| `day` | `int`: 1 to 31 <br /> |

### Date

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
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.

<br />

| Parameters ||
|---|---|
| `date` | `long`: 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. <br /> |

## Public methods

### getHours

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public int getHours ()
```

<br />

**This method is deprecated.**   

This method is deprecated and should not be used because SQL Date values do not have a time component.

Returns the hour represented by this `Date` object. The returned value is a number (`0` through `23`) representing the hour within the day that contains or begins with the instant in time represented by this `Date` object, as interpreted in the local time zone.

<br />

| Returns ||
|---|---|
| `int` | the hour represented by this date. <br /> |

| Throws ||
|---|---|
| `https://developer.android.com/reference/java/lang/IllegalArgumentException` | if this method is invoked |

**See also:**

- `https://developer.android.com/reference/java/sql/Date#setHours(int)`

### getMinutes

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public int getMinutes ()
```

<br />

**This method is deprecated.**   

This method is deprecated and should not be used because SQL Date values do not have a time component.

Returns the number of minutes past the hour represented by this date, as interpreted in the local time zone. The value returned is between `0` and `59`.

<br />

| Returns ||
|---|---|
| `int` | the number of minutes past the hour represented by this date. <br /> |

| Throws ||
|---|---|
| `https://developer.android.com/reference/java/lang/IllegalArgumentException` | if this method is invoked |

**See also:**

- `https://developer.android.com/reference/java/sql/Date#setMinutes(int)`

### getSeconds

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public int getSeconds ()
```

<br />

**This method is deprecated.**   

This method is deprecated and should not be used because SQL Date values do not have a time component.

Returns the number of seconds past the minute represented by this date. The value returned is between `0` and `61`. The values `60` and `61` can only occur on those Java Virtual Machines that take leap seconds into account.

<br />

| Returns ||
|---|---|
| `int` | the number of seconds past the minute represented by this date. <br /> |

| Throws ||
|---|---|
| `https://developer.android.com/reference/java/lang/IllegalArgumentException` | if this method is invoked |

**See also:**

- `https://developer.android.com/reference/java/sql/Date#setSeconds(int)`

### setHours

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public void setHours (int i)
```

<br />

**This method is deprecated.**   

This method is deprecated and should not be used because SQL Date values do not have a time component.

Sets the hour of this `Date` object to the specified value. This `Date` object is modified so that it represents a point in time within the specified hour of the day, with the year, month, date, minute, and second the same as before, as interpreted in the local time zone.

<br />

| Parameters ||
|---|---|
| `i` | `int`: the hour value. <br /> |

| Throws ||
|---|---|
| `https://developer.android.com/reference/java/lang/IllegalArgumentException` | if this method is invoked |

**See also:**

- `https://developer.android.com/reference/java/sql/Date#getHours()`

### setMinutes

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public void setMinutes (int i)
```

<br />

**This method is deprecated.**   

This method is deprecated and should not be used because SQL Date values do not have a time component.

Sets the minutes of this `Date` object to the specified value. This `Date` object is modified so that it represents a point in time within the specified minute of the hour, with the year, month, date, hour, and second the same as before, as interpreted in the local time zone.

<br />

| Parameters ||
|---|---|
| `i` | `int`: the value of the minutes. <br /> |

| Throws ||
|---|---|
| `https://developer.android.com/reference/java/lang/IllegalArgumentException` | if this method is invoked |

**See also:**

- `https://developer.android.com/reference/java/sql/Date#getMinutes()`

### setSeconds

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public void setSeconds (int i)
```

<br />

**This method is deprecated.**   

This method is deprecated and should not be used because SQL Date values do not have a time component.

Sets the seconds of this `Date` to the specified value. This `Date` object is modified so that it represents a point in time within the specified second of the minute, with the year, month, date, hour, and minute the same as before, as interpreted in the local time zone.

<br />

| Parameters ||
|---|---|
| `i` | `int`: the seconds value. <br /> |

| Throws ||
|---|---|
| `https://developer.android.com/reference/java/lang/IllegalArgumentException` | if this method is invoked |

**See also:**

- `https://developer.android.com/reference/java/sql/Date#getSeconds()`

### setTime

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
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.

<br />

| Parameters ||
|---|---|
| `date` | `long`: 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. <br /> |

### toString

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public String toString ()
```

Formats a date in the date escape format yyyy-mm-dd.

<br />

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/lang/String` | a String in yyyy-mm-dd format <br /> |

### valueOf

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static Date valueOf (String s)
```

Converts a string in JDBC date escape format to a `Date` value.

<br />

| Parameters ||
|---|---|
| `s` | `String`: 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. <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/sql/Date` | a `java.sql.Date` object representing the given date <br /> |

| Throws ||
|---|---|
| `https://developer.android.com/reference/java/lang/IllegalArgumentException` | if the date given is not in the JDBC date escape format (yyyy-\[m\]m-\[d\]d) |