我试着得到昨天的日期。所以我写了下一个函数:
public String getYestrday() {
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
Date date = new Date();
return dateFormat.format(date.getDate() - 1);
}
但它给了我下一个警告:
The method getDate() from the type Date is deprecated
并且它不起作用。
感谢您的帮助。
答案 0 :(得分:16)
Date#getDate()是JDK 1.1之后的弃用方法。您应该使用Calendar类来操纵日期。
来自API:
在JDK 1.1之前,Date类有两个附加功能。它 允许将日期解释为年,月,日,小时,分钟, 和第二个值。它还允许格式化和解析日期 字符串。不幸的是,这些功能的API不适合 国际化。从JDK 1.1开始,Calendar类应该是 用于在日期和时间字段与DateFormat类之间进行转换 应该用于格式化和解析日期字符串。相应的 不推荐使用Date中的方法。
使用Date#getDate()使用Calendar#get(Calendar.DATE);
已过时。从JDK 1.1版开始,替换为 Calendar.get(Calendar.DAY_OF_MONTH)
Calendar cal = Calendar.getInstance();
cal.add(Calendar.DATE, -1);
return dateFormat.format(cal.getTime());
答案 1 :(得分:1)
使用java.util.Calendar
执行此操作。或者尝试JODA。
答案 2 :(得分:0)
您可以使用Calendar类执行相同的任务:
Calendar c = new Calendar();
//c.add(Calendar.DAY_OF_MONTH, -1);
Date d = c.getTime();
答案 3 :(得分:0)
以下为我工作
int date = Calendar.getInstance().get(Calendar.DAY_OF_MONTH);