欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Java指定时间差和时间段的获取

程序员文章站 2022-04-16 21:18:21
...

在项目中涉及到了一个时间差和时间段的获取,在此记录,仅供参考。

package util;

import java.sql.Timestamp;
import java.util.TimeZone;

public class Time {
    //此时时间如果在晚上八点后就返回到明晚八点的时间差,如果未到八点就返回到今晚八点的时间差

    public static long getTimeDiff() {
        long current=System.currentTimeMillis();//当前时间毫秒数
        long zero=current/(1000*3600*24)*(1000*3600*24)- TimeZone.getDefault().getRawOffset();//今天零点零分零秒的毫秒数
        long todayEighteen=zero+20*60*60*1000-1;//今天19点59分59秒的毫秒数
        long tomorrowEighteen =todayEighteen + 24*60*60*1000-1 ; //明天19点59分59秒的毫秒数
        if(current>todayEighteen){
            Long different = tomorrowEighteen - current;
            return different;
        }else{
            Long different = todayEighteen -current;
            return different;
        }
    }
    //获取当天早上八点到晚上八点
    public static Timestamp[] getTimePeriod(){
        long current=System.currentTimeMillis();//当前时间毫秒数
        long zero=current/(1000*3600*24)*(1000*3600*24)- TimeZone.getDefault().getRawOffset();//今天零点零分零秒的毫秒数
        long  morning= zero+8*60*60*1000-1;  //昨天20点00分01的毫秒数
        long evening=zero+20*60*60*1000-1;//今天19点59分59秒的毫秒数

        Timestamp [] timeList = new Timestamp[2];
        timeList[0]=new Timestamp(morning);
        timeList[1]=new Timestamp(evening);
        return timeList;
    }
}


Java指定时间差和时间段的获取
扫码关注作者个人技术公众号,有关技术问题后台回复即可,不定期将有学习资源分享