检测美国假期

发布于 2021-01-29 15:14:17

用Python确定日期是否是美国银行假期的最简单方法是什么?似乎有各种日历和网络服务列出了各个国家/地区的假期,但我还没有找到针对美国银行的特定信息。

关注者
0
被浏览
50
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    一些一般性的评论:

    我不认为@ ast4真的意味着“第n个月算法的第n周的第n天”。“第n个月的第n个星期”的概念非常抢眼(例如“
    ISO日历”)。我从未见过根据“第n周”定义的假期。马丁·路德·金纪念日是“每月第N个工作日”类型的假日示例:

    MONDAY, ...., SATURDAY = range(7)
    JAN, ....., DEC = range(1, 12)
    
    Holiday("Martin L King's Birthday", type='floating',
        ordinal=3, weekday=MON, month=JAN)
    Holiday("Memorial Day", type='floating',
        ordinal=-1, weekday=MON, month=MAY)
    

    美国没有与复活节相关的假期。定义并不困难:

    Holiday("Good Friday", type='moveable',
        base='gregorian_easter', delta_days=-2)
    Holiday("Easter Monday", etc, delta_days=1)
    # Some states in Australia used to have Easter Tuesday (no kidding)
    Holiday("Easter Tuesday", etc, delta_days=2)
    

    “基准”概念可用于迎接农历新年,实际上,任何与基准日期相抵消的假期都需要特殊的程序来计算。

    当“固定”日期是星期六或星期日时,所谓的“静态”假日是不固定的,甚至可能消失(没有其他休息日):

    # Americans will get a day off on Friday 31 Dec 2010
    # because 1 Jan 2011 is a Saturday.
    Holiday("New Year's Day", type='fixed',
        day=1, month=JAN, sat_adj=-1, sun_adj=????)
    
    # Australia observes ANZAC Day on the day, with no day off
    # if the fixed date falls on a weekend.
    Holiday("ANZAC Day", type='fixed', day=25, month=APR, sat_adj=0, sun_adj=0)
    
    # Two consecutive "fixed" holidays is OK; three would need re-thinking.
    # Australia again:
    Holiday("Christmas Day", type='fixed', day=25, month=DEC, sat_adj=2, sun_adj=1)
    Holiday("Boxing Day",    type='fixed', day=26, month=DEC, sat_adj=2, sun_adj=2)
    

    我敢肯定,有一些方法可以指定上述规则无法满足的假期…欢迎任何此类新闻。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看