Java获取昨天的日期,其实大部分人都用得不对:
DateFormat dateFormat=new SimpleDateFormat("yyyy-MM-dd");
Calendar calendar=Calendar.getInstance();
calendar.set(Calendar.DATE,-1);
String yesterdayDate=dateFormat.format(calendar.getTime());
这种方法是不对的,如果昨天是某月31日,则得到的是30日。比如今天6月1日,得到的昨天日期是5月30日。
正确姿势如下:
DateFormat dateFormat=new SimpleDateFormat("yyyy-MM-dd");
Calendar calendar=Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY,-24);
String yesterdayDate=dateFormat.format(calendar.getTime());
注意不要用Calendar.HOUR,这是12小时制,Calendar.HOUR_OF_DAY是24小时制。
原文链接:https://blog.csdn.net/devnn/article/details/83104239