日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

[需求总结] 关于 Java 判断是否为工作日、法定节假日

發布時間:2024/3/24 java 52 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [需求总结] 关于 Java 判断是否为工作日、法定节假日 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

應用場景

假設我有一個任務,任務一共需要 10 個小時就可以完成。任務開始時間是 2018-3-28,結束時間是 2018-4-8。

我們通過日歷可以知道,3-31 和 4-1 是周末,然后 4月份的 5、6、7號是清明節。所以 12 天之內,

有 5 天是放假的。意思就是說,我們在 7 天之內,完成 10 個小時的工作量。


所以,我們需要解決的是:在任務期間內,除掉 國家法定假期 和 周末 。 (下文將稱為特殊時間)


方案

  • 獲取任務的時間段,判斷里面是否有節假日或者周末。(這個需要通過工具類來計算)
  • 現在數據庫存好今年的國家法定日及周末。然后拿到任務時間段。通過比對時間來判斷是否有特殊時間及數目,最后減去即可。

選擇及實現

我選擇方案二。方案一效率比較低,計算量比較大。方案二比較容易實現。


偽思路及步驟

  • 定時任務,將今年的特殊事件都存進來。有序,方便查詢。
  • 根據任務時間段來作為查詢條件,查詢的數量則是特殊時間的數量。
  • 任務總時間 - 特殊時間天數 則 有效的工作時間。
  • 考慮問題

  • 任務與特殊時間交錯的情況只有三種:開始時間在特殊日期,結束時間不在;開始時間不在特殊時間,結束日期在;開始時間和結束時間之間有特殊時間。(開始時間和結束時間都在特殊時間的話,任務被調到延期狀態)
  • 我們在計算工作趨勢的時候,需要注意任務的狀態(是在延期還是開發還是調研?)
  • 特殊時間和周末是否重疊
  • 數據庫設計

    字段備注數據類型
    id索引Integer
    create_by創建時間Date
    create_date更新時間Date
    del_flag是否刪除bool
    remarks備注varchar(100)
    update_by更新人Date
    record_time?記錄時間Date
    special_day特殊時間Date

    day_type

    時間類型(法定日,周末,法定日+周末)String[]


    總結

    以上是生活随笔為你收集整理的[需求总结] 关于 Java 判断是否为工作日、法定节假日的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。