V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
albin504
V2EX  ›  程序员

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

  •  
  •   albin504 · 2023-06-21 10:00:46 +08:00 · 3162 次点击
    这是一个创建于 367 天前的主题,其中的信息可能已经有所发展或是发生改变。
    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 能不能根据过去放假数据,总结规律,预测出未来的假期呢?(假设节日种类及放假调休天数不变)
    xmumiffy
        10
    xmumiffy  
       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
    支持特殊省份吗?有些地方可是要多放几天假的
    4pmBaoZi
        16
    4pmBaoZi  
       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
    网上好像有接口
    angryfish
        22
    angryfish  
       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   ·   实用小工具   ·   2109 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 38ms · UTC 01:46 · PVG 09:46 · LAX 18:46 · JFK 21:46
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.