Java 计算日期加、减一天
SimpleDateFormat newdate = new SimpleDateFormat("HH:mm:ss");//设置时间格式
String time1 = newdate.format(new Date());//获取当前系统时间
String time2= "00:00:00";//大于时间
String time3= "15:59:59";//小于时间
Date dt1 = newdate.parse(time1);
Date dt2 = newdate.parse(time2);
Date dt3 = newdate.parse(time3);
if(dt2.getTime() < dt1.getTime() || dt1.getTime() <dt3.getTime()) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date = new Date();
Calendar rightNow = Calendar.getInstance();
rightNow.add(Calendar.DATE,-2);//当前时间减2天
Date dt8 = rightNow.getTime();
newRQ = sdf.format(dt8);
}else {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date = new Date();
Calendar rightNow = Calendar.getInstance();
rightNow.add(Calendar.DATE,-1);//当前时间减1天
Date dt8 = rightNow.getTime();
newRQ = sdf.format(dt8);
}
Date date = new Date();//获取当前时间
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.add(Calendar.YEAR, -1);//当前时间减去一年,即一年前的时间
calendar.add(Calendar.MONTH, -1);//当前时间前去一个月,即一个月前的时间
calendar.getTime();//获取一年前的时间,或者一个月前的时间
日期比较
public static int compare_date(String DATE1, String DATE2) {
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
Date dt1 = df.parse(DATE1);
Date dt2 = df.parse(DATE2);
if (dt1.getTime() > dt2.getTime()) {
System.out.println("dt1 在dt2前");
return 1;
} else if (dt1.getTime() < dt2.getTime()) {
System.out.println("dt1在dt2后");
return -1;
} else {
return 0;
}
} catch (Exception exception) {
exception.printStackTrace();
}
return 0;
}
public static int daysBetween(String smdate,String bdate){
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
Calendar cal = Calendar.getInstance();
long time1 = 0;
long time2 = 0;
try{
cal.setTime(sdf.parse(smdate));
time1 = cal.getTimeInMillis();
cal.setTime(sdf.parse(bdate));
time2 = cal.getTimeInMillis();
}catch(Exception e){
e.printStackTrace();
}
long between_days=(time2-time1)/(1000*3600*24);
return Integer.parseInt(String.valueOf(between_days));
}
public static int daysBetween2(String startTime, String endTime) {
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH");
Calendar cal = Calendar.getInstance();
long time1 = 0;
long time2 = 0;
try{
cal.setTime(sdf.parse(startTime));
time1 = cal.getTimeInMillis();
cal.setTime(sdf.parse(endTime));
time2 = cal.getTimeInMillis();
}catch(Exception e){
e.printStackTrace();
}
long between_days=(time2-time1)/(1000*3600);
return Integer.parseInt(String.valueOf(between_days));
}