Java获取更新的时间

事先荐读

《String、java.util.Date、java.sql.Date的互相转化总结》

核心算法

利用了Date对象的compareTo()方法,源码如下:

public int compareTo(Date anotherDate) {
    long thisTime = getMillisOf(this);
    long anotherTime = getMillisOf(anotherDate);
    return thisTime < anotherTime ? -1 : (thisTime == anotherTime ? 0 : 1);
}

可见还是使用毫秒来做的判断,我们直接用compareTo()这个API即可。

核心算法如下:

private static Date getNewerTime(String time1, String time2, SimpleDateFormat sdf) {
    try {
        Date date1 = sdf.parse(time1);
        Date date2 = sdf.parse(time2);
        return date1.compareTo(date2)>0 ? date1 : date2;
    } catch (ParseException e) {
        e.printStackTrace();
    }
    return null;
}

完整代码

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class FindMaxTime {
    private static Date getNewerTime(String time1, String time2, SimpleDateFormat sdf) {
        try {
            Date date1 = sdf.parse(time1);
            Date date2 = sdf.parse(time2);
            return date1.compareTo(date2)>0 ? date1 : date2;
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return null;
    }

    public static void main(String[] args) {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        System.out.println("更新的时间是:" + sdf.format(getNewerTime("2019-3-4", "2019-4-23", sdf)));
        System.out.println("更新的时间是:" + sdf.format(getNewerTime("2019-5-1", "2018-1-14", sdf)));
    }
}

测试结果:

更新的时间是:2019-04-23
更新的时间是:2019-05-01
发布了656 篇原创文章 · 获赞 1346 · 访问量 59万+

猜你喜欢

转载自blog.csdn.net/weixin_43896318/article/details/104713921