弄了一个判断日期类型的库(判断某一天是工作日、法定节假日、周末?) - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
albin504
V2EX    程序员

弄了一个判断日期类型的库(判断某一天是工作日、法定节假日、周末?)

  •  
  •   alin504 2023-06-21 10:00:46 +08:00 3925 次点击
    这是一个创建于 925 天前的主题,其中的信息可能已经有所发展或是发生改变。
    27 条回复    2023-06-22 16:37:12 +08:00
    hxzhouh1
        1
    hxzhouh1  
       2023-06-21 10:43:48 +08:00
    2024 年的数据,从哪里更新呢?
    hxzhouh1
        2
    hxzhouh1  
       2023-06-21 10:44:27 +08:00
    @hxzhouh1 看到了,手动更新
    pkoukk
        3
    pkoukk  
       2023-06-21 10:54:31 +08:00   3
    一般来说,我们都用 API....
    x86
        4
    x86  
       2023-06-21 10:57:00 +08:00
    一般人事会提前通知
    c2const
        5
    c2const  
       2023-06-21 11:26:58 +08:00   1
    本地库确实会有需求,但你这连 2024 都不支持。
    提个建议,把 2099 年以前的数据都离线本地支持,应该会有人用,不过工作量应该也不小。
    c2const
        6
    c2const  
       2023-06-21 11:28:21 +08:00
    除了内置预测的数据,可能设计也得改改?
    Yuesh1
        7
    Yuesh1  
       2023-06-21 11:32:17 +08:00
    @c2const 之前做过调研,第二年的假期一般在前一年的 10 月份由国务院发布,包括调休补班这些,所以每一年的数据没办法提前设置
    albin504
        8
    albin504  
    OP
       2023-06-21 11:43:18 +08:00
    @Yuesh1 #7
    是的。没法提前支持。

    技术上能否做到“每年我更新了配置之后,调用方不用更新依赖的版本,就自动应用最新的配置”?
    wxf666
        9
    wxf666  
       2023-06-21 11:58:03 +08:00
    @Yuesh1 @albin504 能不能根据过去放假数据,总结规律,预测出未来的假期呢?(假设节日种类及放假调休天数不变)
    106npo
        10
    106npo  
       2023-06-21 12:09:40 +08:00 via Android
    @Yuesh1 我记得是 12 月才会公布的
    thinkershare
        11
    thinkershare  
       2023-06-21 12:10:33 +08:00
    @wxf666 没啥规律,因为这个玩意就是人为规定的。
    未来还可能会继续修改。如果可以预测和有规律,就不需要公务员公布了。
    我们现在统计考勤也是每年获取一下数据,存储到本地。
    TsubasaHanekaw
        12
    TsubasaHanekaw  
       2023-06-21 12:30:27 +08:00
    谁知道 2099 年的法定节假日还是现在这些呢.
    foolishcrab
        13
    foolishcrab  
       2023-06-21 12:44:33 +08:00 via iPhone
    这种东西要用自己公司人事部出的接口,
    否则你公司有“特殊安排”但是你这里算假日了,会出奇怪的问题的。

    人事维护一个这种查询接口成本也很低
    NoOneNoBody
        14
    NoOneNoBody  
       2023-06-21 13:10:47 +08:00
    要么省时要么省力,这个东西省了什么?
    guxin0123
        15
    guxin0123  
       2023-06-21 13:18:25 +08:00
    支持特殊省份吗?有些地方可是要多放几天假的
    BaoZiDaShen
        16
    BaoZiDaShen  
       2023-06-21 13:24:29 +08:00
    这种直接搞个 json 或者 sql 这种通用版,发电的人才多,未来数据是不固定的,因为调休等原因,必须每年进行维护
    SimonOne
        17
    SimonOne  
       2023-06-21 13:56:21 +08:00
    @c2const #5 你怎么提前知道国务院公布的下一年调休计划的?国务院一般在 10-12 月才公布,去年甚至是 12 月 27 号才公布 2023 年完整的调休假。调休计划是老爷们定的,老爷想咋定就咋定,有规律但是老爷可以违反往年规律。维护到 2099 年,结果错几个,这不画蛇添足吗。
    limngyang
        18
    limngyang  
       2023-06-21 14:09:37 +08:00
    carbon 不好用?
    Hstar
        19
    Hstar  
       2023-06-21 14:12:28 +08:00
    这种库不敢用开源的,都是自己封或者找 OA 的人要接口。以前用过 github 上一个开源的,更新贼慢,后来直接不更新了,我们只能哼哧哼哧换成自己包的库。
    breadykidliu
        20
    breadykidliu  
       2023-06-21 14:26:48 +08:00
    18 年写过,一个工具类,外加指定休假日和工作日的外置配置(配置文件,甚至搞个 map 都可),不明白一个类的代码量还要搞个 maven 依赖是要干嘛
    zyy314680012
        21
    zyy314680012  
       2023-06-21 14:55:19 +08:00 via Android
    网上好像有接口
    GBdG6clg2Jy17ua5
        22
    GBdG6clg2Jy17ua5  
       2023-06-21 15:57:55 +08:00
    还不如专门维护一个 sql 或者 json 。库真的没必要了
    albin504
        23
    albin504  
    OP
       2023-06-21 19:46:50 +08:00
    @angryfish #22 这里面是有一些逻辑在的,光配置不行。
    比如,判断某一天是否是工作日,需要两个条件:这一天是周一到周五,并且不是节假日。
    albin504
        24
    albin504  
    OP
       2023-06-21 19:48:20 +08:00
    @breadykidliu #20 爱用 mavan 包管理就用 maven 下载依赖,不爱用就把配置和工具类 copy 到代码库就行了。
    chensuiyi
        25
    chensuiyi  
       2023-06-22 08:37:32 +08:00   1
    https://gitee.com/6tail/lunar-Javascript
    这个专门做日历,节假日了,希望可以给你提供参考。
    wxf666
        26
    wxf666  
       2023-06-22 16:20:43 +08:00 via Android
    @albin504 请教一下,会不会搞一个《假期表》好一些?

    这个表假设所有 [周一, 周五] 是工作日,[周六, 周日] 是周末。

    其余不同之处才添加记录至该表。(比如,添加 22 ~ 24 日为节假日,25 日为工作日)

    各个地方可根据需要,添加自己的节日(比如广西三月三)。

    各个公司有特殊需要,也能添加自己的特殊日子。

    员工特殊请假、调休等,也才添加进去。

    这样,同一条 SQL ,都能兼顾上述所有情况,算出需要的数据了?

    每年只需添加十来条新数据即可?
    albin504
        27
    albin504  
    OP
       2023-06-22 16:37:12 +08:00
    @wxf666 #26 这个配置,保存的就是你提到的不同之处。 每年大概有 30 天不同的配置(包含节假日,以及工作日周末调休补回)

    "各个地方可根据需要,添加自己的节日(比如广西三月三)。" 我之前还不知道每个省会单独放假,这个应该支持。
    “各个公司有特殊需要,也能添加自己的特殊日子。”, 小公司可能会有这种行为,大公司我还没遇到过自行放假的,都是根据国家安排。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     800 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 22ms UTC 20:51 PVG 04:51 LAX 12:51 JFK 15:51
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86