Java獲取當日的起始時間,結束時間,現在時間,是否在時間段中。


當日的起始時間

 public static Date getTodayStartTime() {
        Calendar todayStart = Calendar.getInstance();
        todayStart.set(Calendar.HOUR_OF_DAY, 0);
        todayStart.set(Calendar.MINUTE, 0);
        todayStart.set(Calendar.SECOND, 0);
        return todayStart.getTime();
    }

 結束時間

   public static Date getTodayEndTime() {
        Calendar todayEnd = Calendar.getInstance();
        todayEnd.set(Calendar.HOUR_OF_DAY, 23);
        todayEnd.set(Calendar.MINUTE, 59);
        todayEnd.set(Calendar.SECOND, 59);
        return todayEnd.getTime();
    }

 現在時間

 public static Date getNowDate() {
        Calendar now = Calendar.getInstance();
        return now.getTime();
    }

 是否在時間段中

寫了兩種實現,date和localdatetime的兩種方式

    public static boolean inTime(Date nowTime, Date beginTime, Date endTime) {
        Calendar date = Calendar.getInstance();
        date.setTime(nowTime);

        Calendar begin = Calendar.getInstance();
        begin.setTime(beginTime);

        Calendar end = Calendar.getInstance();
        end.setTime(endTime);

        if (date.after(begin) && date.before(end)) {
            return true;
        } else {
            return false;
        }
    }

    public static boolean hourInTime(Date beginTime, Date endTime) {
        SimpleDateFormat df = new SimpleDateFormat("HH:mm");
        Date nowTime = null;
        try {
            nowTime = df.parse(df.format(new Date()));
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return inTime(nowTime, beginTime, endTime);
    }

    public static boolean inTime(LocalDateTime time, LocalDateTime beginTime, LocalDateTime endTime) {
        return (time.isAfter(beginTime) && time.isBefore(endTime));
    }

    public static boolean hourInTime(LocalDateTime beginTime, LocalDateTime endTime) {
        return inTime(LocalDateTime.now(), beginTime, endTime);
    }

localdatetime的優點就是代碼簡潔,但是不方便,因為localdatetime一定是帶年月日時分秒的。

而date則方便了許多,可以只比較時分(hourInTime),日(dayInTime),月(monthInTime)之類的,但是date類型大多數方法官方不建議使用。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM