如何将Java Date对象的值设置为昨天?

pri*_*lia 5 java

可能重复:
使用日期获取昨天的日期

什么是设置为Java Date对象的值的优雅方式到昨天?

Eug*_*ene 15

随着JodaTime

  LocalDate today = LocalDate.now();
    LocalDate yesterday = today.minus(Period.days(1));

    System.out.printf("Today is : %s, Yesterday : %s", today.toString("yyyy-MM-dd"), yesterday.toString("yyyy-MM-dd"));
Run Code Online (Sandbox Code Playgroud)

  • Java 8 LocalDate 非常相似:`LocalDate.now().minusDays( 1 )` (8认同)
  • 使用JodaTime而不是Date的+1. (3认同)

Pet*_*rey 14

你的意思是24小时回去.

 Date date = new Date(System.currentTimeMillis() - 24 * 60 * 60 * 1000L);
Run Code Online (Sandbox Code Playgroud)

或者在同一时间返回一天(这可能是23或25小时,具体取决于夏令时)

 Calendar cal = Calendar.getInstance();
 cal.add(Calendar.DATE, -1); 
Run Code Online (Sandbox Code Playgroud)

由于夏令时,这些并不完全相同.