Java获取昨天日期的正确姿势

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.HORE_OF_DAY,-24);
  String yesterdayDate=dateFormat.format(calendar.getTime());

注意不要用Calendar_HORE,这是12小时制,Calendar_HORE_OF_DAY是 24小时制。

你可能感兴趣的:(java)