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

传入月份,返回对应月份的出勤天数(就是刨去'周末'和'法定节假日'),兄弟们怎么整?

  •  
  •   sunziren · 2020-08-03 11:19:41 +08:00 · 2946 次点击
    这是一个创建于 1558 天前的主题,其中的信息可能已经有所发展或是发生改变。

    有没有思路提供下,小弟感激不尽。

    传入的月份不会大于当前月份

    Youen
        1
    Youen  
       2020-08-03 11:31:56 +08:00   ❤️ 1
    把国务院每年发布的节假日安排存起来,去掉这些得到结果
    KevZhi
        2
    KevZhi  
       2020-08-03 11:32:12 +08:00 via iPhone   ❤️ 1
    python,请
    法定节假日可以爬百度,一点点自然语言处理
    fffang
        3
    fffang  
       2020-08-03 11:39:58 +08:00   ❤️ 2
    用 switch 写 12 个 case,如果传入如期就写 366 个 case
    dubenshu
        4
    dubenshu  
       2020-08-03 12:24:22 +08:00 via iPhone   ❤️ 1
    一天天数,周末或法定就不加,周末 js 可以 getDay,法定自己维护一套咯
    zlstll
        5
    zlstll  
       2020-08-03 12:34:24 +08:00   ❤️ 1
    @Youen 对的,就是这样做的
    xkzhangsan
        6
    xkzhangsan  
       2020-08-03 12:37:30 +08:00 via Android   ❤️ 2
    如果是 Java 语言的话,可以用 xk-time 工具。

    5.日历工具类 CalendarUtil

    包括:
    ( 1 )生成指定时间的日历(包含年、月和日层级关系的日历)方法,generateCalendar* 比如 generateCalendar(int year, int month) 生成指定年月的日历。
    ( 2 )生成指定时间的日历(包含年、月和日层级关系的日历),包含农历和所有节假日信息方法,generateCalendarWithHoliday*, 比 generateCalendarWithHoliday(int year, int month, Map<String, String> localHolidayMap,Map<String, String> chineseHolidayMap, Map<String, Integer> dateTypeMap)生成指定年月的日历,包含农历和所有节假日信息,可以自定义节假日和工作日等。


    通过( 2 )方法,传入自定义工作日定义 dateTypeMap,可以生成指定年月的日历。然后统计根据返回的数据工作日标识统计工作日数量。
    xkzhangsan
        7
    xkzhangsan  
       2020-08-03 12:41:51 +08:00 via Android
    长假时会出现周末变成工作日的情况。这个需要整理出一份列表。
    realpg
        8
    realpg  
       2020-08-03 12:56:36 +08:00   ❤️ 1
    手动维护个节假日表就完了……
    比什么自动化都省事
    年底维护来年的
    luckyrayyy
        9
    luckyrayyy  
       2020-08-03 12:59:03 +08:00   ❤️ 1
    周末好办,直接判断就行。另外我们考勤系统是这么做的,维护了一个“异常日期”列表,每年更新一下,这个列表里就是跟正常正好相反的日期,比如本来是周末,但是统一上班的那天,还有本来是工作日但是是全国放假的那天,加起来一年也就一二十天。
    wpblank
        10
    wpblank  
       2020-08-03 13:02:35 +08:00
    问小爱同学?
    xuanbg
        11
    xuanbg  
       2020-08-03 13:07:14 +08:00   ❤️ 1
    自己做个节假日表就行。

    别想着调什么接口,靠别人都是靠不住的。
    ETiV
        12
    ETiV  
       2020-08-03 13:09:45 +08:00 via iPhone   ❤️ 1
    法定节假日可以去爬飞猪啊、携程啊,这些卖机票的日历,全都帮你算好了
    xkzhangsan
        13
    xkzhangsan  
       2020-08-03 13:36:37 +08:00 via Android
    @luckyrayyy 确实需要这样维护,每年的都不一样,没有一劳永逸的方法
    humansjl
        14
    humansjl  
       2020-08-03 13:36:43 +08:00   ❤️ 1
    一张基本日历表,里面含基本工作日、休息日、国务院假日,一年更新一次,没必要爬,很多 OA 都要求 HR 年末确认次年计划的。

    再一张调整表,这个里面是单位自己的休息日工作日排班(比如适用于工厂翻班非双休日这种)。
    hinate
        15
    hinate  
       2020-08-03 13:44:55 +08:00   ❤️ 1
    自己维护一个表,用来存储这些节假日就可以了。
    zchlwj
        16
    zchlwj  
       2020-08-03 13:53:59 +08:00   ❤️ 1
    @ETiV #12 原文:“法定节假日可以去爬飞猪啊、携程啊,这些卖机票的日历,全都帮你算好了”
    ======
    回复:#12 不可靠,接口几乎年年都变,还不如自己手动维护一个,一年半个小时工作量。
    swulling
        17
    swulling  
       2020-08-03 13:54:44 +08:00   ❤️ 1
    每年国务院发的表都不一样,而且并没有什么规律。
    所以自己维护一套数据即可,每年加个提醒别忘了更新下一年的。

    也不需要什么爬虫,人工录入下就完了。
    hbolive
        18
    hbolive  
       2020-08-03 13:59:21 +08:00   ❤️ 1
    看来大家的共识就是,单独维护一张特殊日期表。。
    zhw2590582
        19
    zhw2590582  
       2020-08-03 14:21:16 +08:00   ❤️ 1
    只要有来源数据,基本就没难度了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1359 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 17:45 · PVG 01:45 · LAX 09:45 · JFK 12:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.