日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

java 判斷兩個時間段是否重疊的案例

瀏覽:42日期:2022-08-27 10:00:46

最近業務上遇到需要判斷兩個時間段是否存在重疊的情況,網上找了不少代碼。大佬們的思路過于簡潔了,有些理解不了。還只是個菜鳥碼農,還是多鍛煉鍛煉自己的思路。

思路很簡單:定義一個時間段的概念,既然是時間段就包含起始時間和終止時間這兩個時間點。構造方法要保證起始時間在終止時間之前,這樣才是一個有效的時間段概念。

為TimeSlot這個類定義四個比較先后順序的方法,分別為:小于、大于、小于等于、大于等于。畫張簡單的時間線圖理解一下就明白了。當整個時間段作為一個整體時,只有時間段小于或大于另一個時間段時,它們才沒有重疊的交集。

代碼如下,有什么錯誤還請各位看官幫忙指出

package com.abc.common.util;import lombok.Data;import org.springframework.stereotype.Component;import java.time.LocalDateTime;/** * 日期工具類 * <p> * 使用LocalDateTime存取或判斷 * </p> * @see java.time.LocalDateTime * @date 2020-6-29 10:20:42 */@Componentpublic class DateUtil { /** * 判斷兩個時間段是否重疊 * @param slot1 * @param slot2 * @return */ public static boolean overlapped(TimeSlot slot1, TimeSlot slot2) { TimeSlot previous, next; previous = slot1.startTime.isBefore(slot2.startTime) ? slot1 : slot2; next = slot2.startTime.isAfter(slot1.startTime) ? slot2 : slot1; // 這里業務需要,允許時間點的重疊 // 例如某個時間段的起始時間:2020-06-29 00:00:00 // 和另一個時間段的終止時間:2020-06-29 00:00:00 // 它們倆可以有交點。如果不需要這種邏輯只把le改成lt // ,ge改成gt就可 return !(le(previous, next) || ge(previous, next)); } /** * 構造一個時間段 * @param startTime * @param endTime * @return */ public static TimeSlot buildSlot(LocalDateTime startTime, LocalDateTime endTime) { return new TimeSlot(startTime, endTime); } /** * less equal * 小于等于 * @param prev * @param next * @return */ private static boolean le(TimeSlot prev, TimeSlot next) { return lt(prev, next) || next.endTime.isEqual(prev.startTime); } /** * greater equal * 大于等于 * @param prev * @param next * @return */ private static boolean ge(TimeSlot prev, TimeSlot next) { return gt(prev, next) || prev.endTime.isEqual(next.startTime); } /** * greater than * 大于 * @param prev * @param next * @return */ private static boolean gt(TimeSlot prev, TimeSlot next) { return prev.endTime.isBefore(next.startTime); } /** * less than * 小于 * @param prev * @param next * @return */ private static boolean lt(TimeSlot prev, TimeSlot next) { return next.endTime.isBefore(prev.startTime); } /** * 時間段類 */ @Data static class TimeSlot{ private LocalDateTime startTime; private LocalDateTime endTime; public TimeSlot(LocalDateTime startTime, LocalDateTime endTime) { if (startTime.isAfter(endTime)) {this.startTime = endTime;this.endTime = startTime; } else {this.startTime = startTime;this.endTime = endTime; } } }}

在業務代碼中調用:

// ... if (DateUtil.overlapped( DateUtil.buildSlot(beginTime, endTime), DateUtil.buildSlot(beginTime1, endTime1) )) { // 時間段有重疊,寫下重疊情況的業務代碼 }// ...

當然也可以把TimeSlot這個類拎出來,那樣或許更方便。

補充知識:Java計算Date類時間差的函數

我就廢話不多說了,大家還是直接看代碼吧~

public static String TimeDifference(long start, long end) { long between = end - start; long day = between / (24 * 60 * 60 * 1000); long hour = (between / (60 * 60 * 1000) - day * 24); long min = ((between / (60 * 1000)) - day * 24 * 60 - hour * 60); long s = (between / 1000 - day * 24 * 60 * 60 - hour * 60 * 60 - min * 60); long ms = (between - day * 24 * 60 * 60 * 1000 - hour * 60 * 60 * 1000- min * 60 * 1000 - s * 1000); String timeDifference = day + '天' + hour + '小時' + min + '分' + s + '秒' + ms+ '毫秒'; return timeDifference; }

以上這篇java 判斷兩個時間段是否重疊的案例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Java
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
亚洲字幕久久| 国产欧美日韩| 日韩电影二区| 日韩久久电影| 欧美成人基地 | 亚洲专区欧美专区| 亚洲主播在线| 亚洲精品欧美| 国产欧美综合一区二区三区| 国产欧美日韩精品一区二区免费| 国产精品v亚洲精品v日韩精品| 欧美日韩激情| 美美哒免费高清在线观看视频一区二区| 欧美精品自拍| 蜜臀91精品一区二区三区| 亚洲精品影视| 国产极品一区| 综合日韩av| 黄色欧美日韩| 日韩在线第七页| 狠狠色综合网| 天堂久久av| 国产精品2区| 人人草在线视频| 在线亚洲一区| 国产探花在线精品一区二区| 精品日本视频| 久久精品国产大片免费观看| 亚洲精品1区2区| 91午夜精品| 日韩电影免费在线观看| 亚洲欧美高清| 国产精品亚洲欧美日韩一区在线| 福利一区和二区| 精品一区在线| 欧美日韩国产高清电影| 欧美三级精品| aa国产精品| 欧美日韩午夜| 亚洲aa在线| 国产一区二区三区黄网站| 欧美精品一区二区三区精品| 日韩亚洲精品在线观看| 国产精品v日韩精品v欧美精品网站 | 国产精品xxx| 欧美日韩一区二区综合| 日韩欧美在线精品| 成人福利视频| 亚洲免费观看高清完整版在线观| 精品一区二区三区中文字幕 | 五月天激情综合网| 欧美在线看片| 久久久人人人| 久久精品av麻豆的观看方式| 色爱综合av| 国产麻豆一区| 亚洲精品美女91| 日本强好片久久久久久aaa| 中国字幕a在线看韩国电影| 蜜桃av一区二区在线观看| 久久精品国产99国产| 国产精品嫩草99av在线| 精品久久中文| 日韩一区精品字幕| 国产成人精品一区二区三区在线| 日韩一区欧美二区| 午夜影院一区| 欧美精品影院| 中文国产一区| 日本在线高清| 国产乱子精品一区二区在线观看| 夜久久久久久| 亚洲精品**中文毛片| 国产亚洲字幕| 亚洲少妇自拍| 亚洲va中文在线播放免费| 久久精品xxxxx| 玖玖玖国产精品| 999久久久国产精品| 国产精品一级| 婷婷综合国产| 亚洲欧美视频一区二区三区| 在线观看精品| 精品一区二区男人吃奶| 日韩精品中文字幕一区二区| 亚洲激情不卡| 久久国产影院| 日韩成人a**站| 国产精品一区二区美女视频免费看| 青草国产精品| 国产精品视频一区二区三区综合| 欧美~级网站不卡| 国产一区二区三区免费在线| 日韩精品欧美精品| 91精品啪在线观看国产18| 精品一区二区三区在线观看视频| 日韩亚洲精品在线观看| 亚洲一区激情| 91精品啪在线观看国产18| 极品日韩av| 视频在线观看国产精品| 午夜av成人| 精品视频在线观看网站| 国产在线|日韩| 久久99国产精品视频| 日韩一区二区三区在线看| 日韩亚洲精品在线| 精品三级久久| 91久久中文| 日韩国产一区二区| 97精品一区二区| 国产在线观看91一区二区三区| 国产欧美在线| 国产探花一区在线观看| 日本亚州欧洲精品不卡| 一区免费视频| 亚洲成人精选| 不卡中文字幕| 亚洲国产日韩欧美在线| 99久久九九| 亚洲成人二区| 欧美综合另类| 一本一道久久a久久精品蜜桃| 亚洲四虎影院| 欧美freesex黑人又粗又大| 日韩免费看片| 激情欧美国产欧美| 99国产精品自拍| 久久亚洲二区| 中文字幕成人| 国产欧美日韩精品高清二区综合区 | 国产成人精选| 国产高清不卡| 久久中文字幕av一区二区不卡| 亚洲国产成人二区| 色天使综合视频| 亚洲黑丝一区二区| 久久成人亚洲| 日本三级亚洲精品| 麻豆国产91在线播放| 亚洲精品永久免费视频| 欧美一级精品| 视频一区中文字幕| 国产亚洲欧美日韩在线观看一区二区| 国产日韩视频| 日产精品一区二区| 国产99久久久国产精品成人免费| 一区在线视频观看| 日本在线成人| 久久狠狠久久| 九九99久久精品在免费线bt| а√天堂中文在线资源8| 在线观看精品| 亚洲深夜av| 欧美啪啪一区| 中文字幕成在线观看| 日韩一级网站| 日韩高清成人在线| 欧美www视频在线观看| 午夜国产一区二区| 欧美日韩视频免费看| 欧美激情另类| 好看的亚洲午夜视频在线| 日韩精品三级| 国产在线观看91一区二区三区| 欧美日韩一二三四| 日韩毛片网站| 欧美羞羞视频| 亚洲乱码一区| 九九九精品视频| 亚洲黄页一区| 国产乱码精品| 亚洲一本视频| 久久国产人妖系列| 色老板在线视频一区二区| 亚洲区第一页| 久久亚洲色图| 国产黄大片在线观看| 中文无码日韩欧| 电影91久久久| 亚洲伊人影院| 日韩成人高清| 天堂va欧美ⅴa亚洲va一国产| 精品网站999| 久久都是精品| 成人午夜网址| 日日摸夜夜添夜夜添国产精品| 亚洲涩涩在线| 欧美一区激情| 免费欧美一区| 精品无人区麻豆乱码久久久| 久久国产高清| 97精品一区| 青青国产91久久久久久| 91精品久久久久久久久久不卡| 欧美亚洲国产日韩| 国产精品日本欧美一区二区三区| 久草精品视频| 日韩国产91| 午夜国产一区二区|