Java获取当天或者明天等零点时间(00:00:00)的方法
第一种方式
import java.text.SimpleDateFormat;
import java.util.Calendar;
/**
* @author : HMF
* @Description :Java获取当天或者明天等零点时间
* @Date : Created in 16:40 2023/1/16
*/
public class test005 {
public static void main(String args[]){
SimpleDateFormat sdfYMD = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Calendar c = Calendar.getInstance();
c.set(Calendar.HOUR_OF_DAY, 0);
c.set(Calendar.MINUTE, 0);
c.set(Calendar.SECOND, 0);
c.set(Calendar.MILLISECOND, 0);
Long today=c.getTimeInMillis(); //当天凌晨的时间戳
System.out.println("今日时间戳: "+today);
String ymd = sdfYMD.format(c.getTime()); //当天凌晨的格式时间
System.out.println("今天格式化时间:"+ymd);
c.add(Calendar.DAY_OF_MONTH, +1); //明天凌晨的时间
long tomorrow =c.getTimeInMillis();
System.out.println("明天时间戳: "+tomorrow);
String ymdt = sdfYMD.format(c.getTime()); //明天凌晨的格式时间
System.out.println("明天格式化时间:"+ymdt);
}
}
执行结果:
第二种方式(明天的可以换成下面的)
Long tomorrow = c.getTimeInMillis() + 86400000; //86400000 一天的毫秒值
System.out.println("明天时间戳: "+tomorrow);
String ymdt = sdfYMD.format(c.getTime()); //明天凌晨的格式时间
System.out.println("明天格式化时间:"+ymdt);
其他:
获取当前时间后60秒的时间
Calendar c = Calendar.getInstance(); c.add(Calendar.SECOND,60); Long taskStartTime=c.getTimeInMillis();
获取当前时间的后 30天, 或者N天
Calendar now = Calendar.getInstance();
now.add(Calendar.Date, 30);
Date date = now.getTime();