有一种low的方式,就是你把两个时间都换成秒,然后除以一天的秒数,然后向上取整,就是算的天数。但是这么实现太low啦。

jdk有高级的API,我们为啥还要自己去实现呢,问题就是我们不知道。

所以,我在这写个笔记,记录下,jdk 1.8 是怎么做的。

    /** 
     * 计算两个时间点之间的天数 
     */ 
    private static void getBetweenDay() { 
        LocalDate start = LocalDate.of(2018, 2, 12); 
        LocalDate now = LocalDate.now(); 
        System.out.println("两个时间之间的天数是:" + TimesUtils.getBetweenDay(start, now) + " 天。"); 
    } 
     
    /** 
     * 计算两个时间点之间的天数 
     */ 
    public static long getBetweenDay(LocalDate start, LocalDate end) { 
        return end.toEpochDay() - start.toEpochDay(); 
    }

后面的那个方法就是重点啦。

LocalDate.toEpochDay()。

将日期转换成Epoch 天,Epoch就是从1970-01-01(ISO)。开始的天数,和那个时间戳是一个道理,时间戳是秒数。


文章是简单了点,也许太简单了点。就当做个笔记吧。

我写完文章,给自己点个赞,不过分吧,

不过分,那我可就点啦啊。
我先点为敬,你们随意。大家随意。不要客气。。。



发布评论
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!

Comparison method violates its general contract 问题的处理知识解答
你是第一个吃螃蟹的人
发表评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。