Java判段两个日期的先后,方法如下:
import java.util.Date;
import java.text.ParseException;
import java.text.SimpleDateFormat;
public class TestD {
public static void main(String[] args){
String date1="2017-07-19 13:02:58";
String date2="2017-07-19 14:02:58";
//将字符串格式的日期格式化
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
try {
//将日期转成Date对象作比较
Date fomatDate1=sdf.parse(date1);
Date fomatDate2=sdf.parse(date2);
//比较两个日期
int result=fomatDate2.compareTo(fomatDate1);
//如果日期相等返回0
if(result==0){
System.out.println("两个时间相等");
}else if(result<0){
//小于0,参数date1就是在date2之后
System.out.println("date1大于date2");
}else{
//大于0,参数date1就是在date2之前
System.out.println("date1小于date2");
}
} catch (ParseException e) {
e.printStackTrace();
}
}
}
结果:
date1小于date2
如果是date 类型 用 date.getTime() 返回long 相加减。
或者用compareTo。
两个时间确定好格式之后
date1.getTime()
false 说明date2时间早
方法很多。比如笨点的。
根据空格分隔字符串分成2013-6-18和上午两部分。首先判断第一部分2013-6-18的大小。如果相等了判断是上午还是下午。
获取时间的毫秒数然后比较大小,大的在后面小的在前面