Java一些常見操作時間的工具類彙總

-> 獲取兩個時間的間隔(秒)

    /**
     * 獲取兩個時間的間隔(秒)
     * @param date1
     * @param date2
     * @author Hasee
     * @return
     */
    public static long getDateBetween(Date date1,Date date2){

        return Math.abs((date1.getTime()-date2.getTime())/1000);
    }
/**
	 * 獲取某天時間的23:59:59
	 * 
	 *  例如輸入2020/6/20 則獲得2020/6/20 23:59:59
	 *  (支持 >= Java 8)
	 * @param date
	 * @author Hasee
	 * @date 2020/6/20
	 * @return
	 */
	public static Date getEndOfDay(Date date) {
		LocalDateTime localDateTime = LocalDateTime.ofInstant(Instant.ofEpochMilli(date.getTime()),
				ZoneId.systemDefault());
		;
		LocalDateTime endOfDay = localDateTime.with(LocalTime.MAX);
		return Date.from(endOfDay.atZone(ZoneId.systemDefault()).toInstant());
	}
/**
	 * 獲取某天時間的00:00:00 
	 * 
	 * 例如輸入2020/6/20 
	 * 則獲得2020/6/20 00:00:00
	 * (支持 >= Java 8)
	 * @param date
	 * @author Hasee
	 * @date 2020/6/20
	 * @return
	 */
	public static Date getStartOfDay(Date date) {
		LocalDateTime localDateTime = LocalDateTime.ofInstant(Instant.ofEpochMilli(date.getTime()),
				ZoneId.systemDefault());
		LocalDateTime startOfDay = localDateTime.with(LocalTime.MIN);
		return Date.from(startOfDay.atZone(ZoneId.systemDefault()).toInstant());
	}

 

(未完,待續....)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章