在java里,获取昨天的当前日期,可以采用calendar来做,也可以采用date来做;如下:
1.采用calendar来做:
Calendar cal=Calendar.getInstance();
//System.out.println(Calendar.DATE);//5
cal.add(Calendar.DATE,-1);
Date time=cal.getTime();
System.out.println(new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(time));
2.采用date来做:
Date today = new Date();
/* System.out.println(new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(today));
System.out.println(today.getTime());
System.out.println(1477058241633L-86400000L);*/
Date yesterday = new Date(today.getTime() - 86400000L);//86400000L,它的意思是说1天的时间=24小时 x 60分钟 x 60秒 x 1000毫秒 单位是L。
//即86400000L可用写成 24*60*60*1000L
//System.out.println(24*60*60*1000L);
System.out.println(new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(yesterday));
在数据库里也可以的,获取当前时间 now或者sysdate,获取昨天当前时刻日期:
select DATEADD(day, 1, NOW);-- 在sqlserver中
select date_sub(current_date(),interval 1 day)-- 在mysql中
select sysdate - interval '1' day from dual;-- 在oracle中