java日期比较
今天项目中要用日期比较 ,现在来总结一下。
第一种:数据库中的日期和当前日期比较,数据库中是日期格式,但是显示的字符格式,要进行比较先把数据格式一下。
Calendar cpcalendar = new GregorianCalendar();
java.util.Date date = null;
try {
java.text.SimpleDateFormat parseTime = new java.text.SimpleDateFormat("yyyy-MM-dd");
//可以把数据库中查询的日期放在这里,需要格式一下
date = parseTime.parse("2008-12-23");
} catch (ParseException e) {
e.printStackTrace();
}
cpcalendar.setTime(date);
//得到系统当前日期
Calendar c2 = Calendar.getInstance();
//得到日期的毫秒数,转换成long类型的
long i = c2.getTimeInMillis() - cpcalendar.getTimeInMillis();
System.out.println(i);
第二种
DateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:mm");
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;
}
今天项目中要用日期比较 ,现在来总结一下。
第一种:数据库中的日期和当前日期比较,数据库中是日期格式,但是显示的字符格式,要进行比较先把数据格式一下。
Calendar cpcalendar = new GregorianCalendar();
java.util.Date date = null;
try {
java.text.SimpleDateFormat parseTime = new java.text.SimpleDateFormat("yyyy-MM-dd");
//可以把数据库中查询的日期放在这里,需要格式一下
date = parseTime.parse("2008-12-23");
} catch (ParseException e) {
e.printStackTrace();
}
cpcalendar.setTime(date);
//得到系统当前日期
Calendar c2 = Calendar.getInstance();
//得到日期的毫秒数,转换成long类型的
long i = c2.getTimeInMillis() - cpcalendar.getTimeInMillis();
System.out.println(i);
第二种
DateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:mm");
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;
}