java怎样判断下面的日期的先后

2013-6-18 上午2013-6-18 下午
2025-01-05 11:42:31
推荐回答(5个)
回答1:

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

回答2:

如果是date 类型 用 date.getTime() 返回long 相加减。
或者用compareTo。

回答3:

两个时间确定好格式之后
date1.getTime()true 说明date1时间早
false 说明date2时间早

回答4:

方法很多。比如笨点的。
根据空格分隔字符串分成2013-6-18和上午两部分。首先判断第一部分2013-6-18的大小。如果相等了判断是上午还是下午。

回答5:

获取时间的毫秒数然后比较大小,大的在后面小的在前面