Getting yesterday - The method getDate() from the type Date is deprecated

date, java

Solution

Date#getDate() is a deprecated method after JDK 1.1. You should be using Calendar class instead to manipulate dates.

From API:

Prior to JDK 1.1, the class Date had two additional functions. It allowed the interpretation of dates as year, month, day, hour, minute, and second values. It also allowed the formatting and parsing of date strings. Unfortunately, the API for these functions was not amenable to internationalization. As of JDK 1.1, the Calendar class should be used to convert between dates and time fields and the DateFormat class should be used to format and parse date strings. The corresponding methods in Date are deprecated.

It is also clearly documented in the API using Date#getDate() to use `Calendar#get(Calendar.DATE);`

Deprecated. As of JDK version 1.1, replaced by Calendar.get(Calendar.DAY_OF_MONTH)

Calendar cal = Calendar.getInstance();
cal.add(Calendar.DATE, -1);
return dateFormat.format(cal.getTime());

Problem

I try to get the date of yesterday. So I write the next function: ``` public String getYestrday() { DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); Date date = new Date(); return dateFormat.format(date.getDate() - 1); } ``` But it gives me the next warning: ``` The method getDate() from the type Date is deprecated ``` and it doesn't do it work. Thank you for your help.

Original source