跳转到主要内容

在Python中生成和使用假日

项目描述

一个快速、高效的Python库,用于实时生成特定国家和地区(例如州或省)的政府指定假日集合。它的目标是使确定特定日期是否为假日尽可能快和灵活。

PyPI

PyPI downloads PyPI version PyPI release date

CI/CD

CI/CD status Documentation status

代码

License Python supported versions Code style Code coverage

GitHub

GitHub stars GitHub forks GitHub contributors GitHub last commit

安装

最新稳定版本始终可以通过pip安装或更新

$ pip install --upgrade holidays

最新开发(dev)版本可以直接从GitHub安装

$ pip install --upgrade https://github.com/vacanza/python-holidays/tarball/dev

所有新功能都首先推送到dev分支,然后在官方版本升级后发布在main分支上。

文档

文档托管在Read the Docs

快速入门

from datetime import date
import holidays

us_holidays = holidays.US()  # this is a dict-like object
# the below is the same, but takes a string:
us_holidays = holidays.country_holidays('US')  # this is a dict-like object

nyse_holidays = holidays.NYSE()  # this is a dict-like object
# the below is the same, but takes a string:
nyse_holidays = holidays.financial_holidays('NYSE')  # this is a dict-like object

date(2015, 1, 1) in us_holidays  # True
date(2015, 1, 2) in us_holidays  # False
us_holidays.get('2014-01-01')  # "New Year's Day"

HolidayBase字典类还可以识别日期字符串和Unix时间戳

'2014-01-01' in us_holidays  # True
'1/1/2014' in us_holidays    # True
1388597445 in us_holidays    # True

一些假日可能只存在于国家的一部分

us_pr_holidays = holidays.country_holidays('US', subdiv='PR')
'2018-01-06' in us_holidays     # False
'2018-01-06' in us_pr_holidays  # True

有关更多示例和详细信息,请参阅python-holidays文档

支持的国家

我们目前支持152个国家代码。引用国家的标准方式是使用其ISO 3166-1 alpha-2代码,与域名相同,以及地区的ISO 3166-2代码。一些国家有通用或外国名称或缩写作为其地区的别名。这些定义在(可选的)subdivisions_aliases属性中。一些国家支持多种语言输出假日名称。每个实体都有一个默认语言(可选的)default_language属性,用作用户指定的语言或用户区域语言不可用时的回退。默认语言代码是一个ISO 639-1代码。国家支持的所有语言列表由(可选的)supported_languages属性定义。如果没有指定的ISO 639-1代码,则可以使用ISO 639-2代码

许多国家除了常见的(全国性)假日外,还有其他类别的假日:银行假日、学校假日、额外(带薪或非带薪)假日、国家或公共雇员的假日、宗教假日(仅适用于这些宗教的信徒)。国家支持的所有类别列表由(可选的)supported_categories属性定义。

以下是一个支持的国家列表,其后是它们的地区(如有别名),支持的语言和额外的假日类别。所有国家都默认支持公众假日类别。所有其他默认值均用粗体突出显示

国家

代码

地区

支持的语言

支持类别

阿尔巴尼亚

AL

阿尔及利亚

DZ

ar, en_US, fr

美属萨摩亚

AS

也可以作为国家US,地区AS加载

非官方

安道尔

AD

教区:02, 03, 04, 05, 06, 07, 08

安哥拉

AO

en_US, pt_AO, uk

阿根廷

AR

en_US, es, uk

亚美尼亚

AM

en_US, hy

阿鲁巴

AW

en_US, nl, pap_AW, uk

澳大利亚

AU

州和领地:ACT(澳大利亚首都领地)、NSW(新南威尔士州)、NT( Northern Territory)、QLD(昆士兰州)、SA(南澳大利亚州)、TAS(塔斯马尼亚州)、VIC(维多利亚州)、WA(西澳大利亚州)

en_AU, en_US, th

BANK, HALF_DAY

奥地利

AT

州/省: 1 (布尔根兰州,Bgld,B),2 (卡林滕州,Ktn,K),3 (下奥地利州,NÖ,N),4 (上奥地利州,OÖ,O),5 (萨尔茨堡州,Sbg,S),6 (施泰尔马克州,Stmk,St),7 (蒂罗尔州,T),8 (福拉尔贝格州,Vbg,V),9 (维也纳,W)

德语,en_US,uk

银行

阿塞拜疆

AZ

阿塞拜疆语,en_US,uk

工作日

巴哈马

BS

巴林

BH

阿拉伯语,en_US

孟加拉国

BD

巴巴多斯

BB

白俄罗斯

BY

白俄罗斯语,en_US

比利时

BE

de,en_US,fr,荷兰语,uk

银行

伯利兹

BZ

玻利维亚

BO

部门: B, C, H, L, N, O, P, S, T

en_US, es, uk

波斯尼亚和黑塞哥维那

BA

实体和地区: BIH (波斯尼亚和黑塞哥维那联邦,FBiH),BRC (布里奇克地区,BD),SRP (塞尔维亚共和国,RS)

波斯尼亚语,en_US,sr,uk

博茨瓦纳

BW

巴西

BR

州: AC, AL, AM, AP, BA, CE, DF, ES, GO, MA, MG, MS, MT, PA, PB, PE, PI, PR, RJ, RN, RO, RR, RS, SC, SE, SP, TO

可选

文莱

BN

en_US,马来语,th

保加利亚

BG

保加利亚语,en_US,uk

学校

布基纳法索

BF

布隆迪

BI

柬埔寨

KH

en_US,高棉语,th

喀麦隆

CM

加拿大

CA

省和地区: AB, BC, MB, NB, NL, NS, NT, NU, ON, PE, QC, SK, YT

ar,加拿大英语,en_US,fr,th

政府,可选

乍得

TD

智利

CL

地区: AI, AN, AP, AR, AT, BI, CO, LI, LL, LR, MA, ML, NB, RM, TA, VS

en_US, es, uk

银行

中国

CN

en_US,th,简体中文,zh_TW

半天

哥伦比亚

CO

en_US, es, uk

哥斯达黎加

CR

en_US, es, uk

可选

克罗地亚

HR

en_US,克罗地亚语,uk

古巴

CU

en_US, es, uk

库拉索

CW

en_US,nl,帕皮阿门托语,uk

塞浦路斯

CY

希腊语,en_CY,en_US,uk

银行,可选

捷克

CZ

捷克语,en_US,sk,uk

丹麦

DK

丹麦语,en_US,uk

可选

吉布提

DJ

ar,en_US,法语

多米尼克

DM

多米尼加共和国

DO

en_US, es, uk

厄瓜多尔

EC

en_US, es, uk

埃及

EG

阿拉伯语,en_US

萨尔瓦多

SV

部门: AH, CA, CH, CU, LI, MO, PA, SA, SM, SO, SS, SV, UN, US

爱沙尼亚

EE

en_US,爱沙尼亚语,uk

斯威士兰

SZ

埃塞俄比亚

ET

阿姆哈拉语,ar,en_US

芬兰

FI

en_US,芬兰语,sv_FI,uk

非官方

法国

FR

DOM/TOM: BL, GES, GP, GY, MF, MQ, NC, PF, RE, WF, YT

en_US,法语,uk

加蓬

GA

格鲁吉亚

GE

en_US,格鲁吉亚语,uk

政府

德国

DE

州: BB (勃兰登堡州),BE (柏林),BW (巴登-符腾堡州),BY (巴伐利亚州),HB (不来梅),HE (黑森州),HH (汉堡),MV (梅克伦堡-前波莫瑞州),NI (下萨克森州),NW (北莱茵-威斯特法伦州),RP (莱茵兰-普法尔茨州),SH (石勒苏益格-荷尔斯泰因州),SL (萨尔州),SN (萨克森州),ST (萨克森-安哈尔特州),TH (图林根州)

德语,en_US,th,uk

天主教

加纳

GH

希腊

GR

希腊语,en_US,uk

半天

格陵兰

GL

da,en_US,格陵兰语

可选

关岛

GU

也可以作为国家 US,次级区域 GU 加载

非官方

危地马拉

GT

en_US,西班牙语

海地

HT

en_US,es,法语,ht

可选

洪都拉斯

HN

en_US, es, uk

香港

HK

可选

匈牙利

HU

en_US,匈牙利语,uk

冰岛

IS

英文,,英语

印度

IN

州:AN, AP, AR, AS, BR, CG, CH, DH, DL, GA, GJ, HP, HR, JH, JK, KA, KL, LA, LD, MH, ML, MN, MP, MZ, NL, OD, PB, PY, RJ, SK, TN, TR, TS, UK, UP, WB

印度尼西亚

ID

英文,印尼语,英语

政府

伊朗

IR

英文,波斯语

爱尔兰

IE

马恩岛

IM

以色列

IL

英文,希伯来语,英语

可选,学校

意大利

IT

省份:AG (阿格里真托), AL (亚历山德里亚), AN (安科纳), AO (奥斯塔), AP (阿斯科利皮切诺), AQ (拉奎拉), AR (阿雷佐), AT (阿斯蒂), AV (阿维利诺), BA (巴里), BG (贝加莫), BI (比埃拉), BL (贝卢诺), BN (贝内文托), BO (博洛尼亚), BR (布林迪西), BS (布雷西亚), BT (巴雷塔-安德里亚-特拉尼), BZ (博尔扎诺), CA (卡利亚里), CB (坎波巴索), CE (卡塞塔), CH (契埃蒂), CL (卡塔尼亚), CZ (卡坦扎罗), EN (恩纳), FC (福尔利-切塞纳, 福尔利-切塞纳), FE (费拉拉), FG (福贾), FI (佛罗伦萨), FM (费尔莫), FR (弗罗西诺内), GE (热那亚), GO (戈里齐亚), GR (格罗塞托), IM (伊梅里亚), IS (伊塞尔尼亚), KR (克罗托内), LC (莱科), LE (莱切), LI (里窝那), LO (洛迪), LT (拉丁纳), LU (卢卡), MB (莫尔扎纳和布里安扎), MC (马凯拉塔), ME (墨西拿), MI (米兰), MN (曼托瓦), MO (摩德纳), MS (马萨-卡拉拉), MT (马泰拉), NA (那不勒斯), NO (诺瓦拉), NU (努罗), OR (奥尔伊斯特兰), PA (巴勒莫), PC (皮亚琴察), PD (帕多瓦), PE (佩斯卡拉), PG (佩鲁贾), PI (比萨), PN (波德诺内), PO (普拉托), PR (帕尔马), PT (皮斯托亚), PU (佩萨罗和乌尔比诺), PV (帕维亚), PZ (波坦察), RA (拉文纳), RC (卡拉布里亚), RE (雷焦艾米利亚), RG (拉古萨), RI (里埃蒂), RM (罗马), RN (里米尼), RO (罗维戈), SA (萨莱尔诺), SI (锡耶纳), SO (松德里奥), SP (拉斯佩齐亚), SR (锡拉库萨), SS (萨萨里), SU (撒丁岛南部), SV (萨沃纳), TA (塔兰托), TE (特拉莫), TN (特伦托), TO (都灵), TP (特拉帕尼), TR (特尔尼), TS (的里雅斯特), TV (特雷维索), UD (乌迪内), VA (瓦雷泽), VB (韦尔班诺-库西奥-奥斯索拉), VC (维切利), VE (威尼斯), VI (维琴察), VR (维罗纳), VT (维特里), VV (维博瓦伦蒂亚)。城市:安德里亚,巴雷塔,切塞纳,弗利(弗利),佩萨罗,特拉尼,乌尔比诺

牙买加

JM

日本

JP

英文,日语,泰语

银行

泽西岛

JE

约旦

JO

阿拉伯语,en_US

哈萨克斯坦

KZ

肯尼亚

KE

科威特

KW

阿拉伯语,en_US

吉尔吉斯斯坦

KG

老挝

LA

英文,老挝语,泰语

银行,学校,工作日

拉脱维亚

LV

英文,拉脱维亚语,英语

莱索托

LS

列支敦士登

LI

德语,en_US,uk

银行

立陶宛

LT

英文,立陶宛语,英语

卢森堡

LU

德语,英文,法语,卢森堡语,英语

马达加斯加

MG

英文,马达加斯加语,英语

马拉维

MW

马来西亚

MY

州和联邦领地:01 (柔佛,JHR), 02 (吉打,KDH), 03 (吉兰丹,KTN), 04 (马六甲,MLK), 05 (森美兰,NSN), 06 (彭亨,PHG), 07 ( Pulau Pinang, PNG), 08 (玻璃市,PRK), 09 (彭亨,PLS), 10 (雪兰莪,SGR), 11 (登嘉楼,TRG), 12 (沙巴,SBH), 13 (沙捞越,SWK), 14 (WP 吉隆坡,KUL), 15 (WP 拉布安,LBN), 16 (WP 沙叻嘉亚,PJY)

英文,ms_MY

马尔代夫

MV

马耳他

MT

英文,马耳他语

马绍尔群岛(马绍尔群岛)

MH

毛里塔尼亚

MR

墨西哥

MX

en_US, es, uk

摩尔多瓦

MD

英文,,英语

摩纳哥

MC

en_US,法语,uk

黑山

ME

摩洛哥

MA

ar, en_US, fr

莫桑比克

MZ

英文,pt_MZ,英语

纳米比亚

NA

荷兰

NL

英文,荷兰语,英语

可选

新西兰

NZ

地区和特别岛屿当局:AUK(奥克兰,塔玛基-马卡乌,AU),BOP(丰盛湾,陶伊莫阿纳,BP),CAN(坎特伯雷,瓦伊塔哈,CA),CIT(查塔姆群岛地区,查塔姆群岛,瓦雷库里,CI),GIS(吉斯伯恩,泰塔拉瓦基,GI),HKB(霍克斯湾,特马图阿-玛乌伊,HB),MBH(马尔堡,MA),MWT(马纳瓦图-旺阿努伊,马纳瓦图-旺阿努伊,MW),NSN(纳尔逊,瓦卡图,NE),NTL(北地,泰塔托科劳,NO),OTA(奥塔哥,奥塔库,OT),STL(南地,泰塔奥通加,SO),TAS(塔斯曼,泰台奥阿雷雷,TS),TKI(塔拉纳基,TK),WGN(大惠灵顿,特帕内马图阿塔iao,惠灵顿,特瓦罕吉乌伊塔拉,WG),WKO(怀卡托,WK),WTC(西海岸,泰台奥普乌蒂尼,WC)。子地区:南坎特伯雷

尼加拉瓜

NI

部门:AN,AS,BO,CA,CI,CO,ES,GR,JI,LE,MD,MN,MS,MT,NS,RI,SJ

en_US, es, uk

尼日利亚

NG

北马里亚纳群岛(the)

MP

也可以作为国家US,子区域MP加载

非官方

北马其顿

MK

挪威

NO

en_US,no,uk

巴基斯坦

PK

帕劳

PW

ARMED_FORCES,HALF_DAY

巴拿马

PA

巴布亚新几内亚

PG

巴拉圭

PY

en_US, es, uk

政府

秘鲁

PE

en_US, es, uk

菲律宾

PH

波兰

PL

en_US,pl,uk

葡萄牙

PT

区:01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,20,30

en_US,pt_PT,uk

可选

波多黎各

PR

也可以作为国家US,子区域PR加载

非官方

罗马尼亚

RO

英文,,英语

俄罗斯

RU

en_US,ru

萨摩亚

WS

圣马力诺

SM

沙特阿拉伯

SA

阿拉伯语,en_US

塞尔维亚

RS

en_US,sr

塞舌尔

SC

en_SC,en_US

新加坡

SG

斯洛伐克

SK

en_US,sk,uk

工作日

斯洛文尼亚

SI

en_US,sl,uk

南非

ZA

韩国

KR

en_US,ko,th

银行

西班牙

ES

自治社区:AN,AR,AS,CB,CE,CL,CM,CN,CT,EX,GA,IB,MC,MD,ML,NC,PV,RI,VC

en_US, es, uk

瑞典

SE

en_US,sv,uk

瑞士

CH

州:AG,AI,AR,BL,BS,BE,FR,GE,GL,GR,JU,LU,NE,NW,OW,SG,SH,SZ,SO,TG,TI,UR,VD,VS,ZG,ZH

de,en_US,fr,it,uk

HALF_DAY,OPTIONAL

台湾

TW

en_US,th,zh_CN,zh_TW

坦桑尼亚

TZ

en_US,sw

银行

泰国

TH

en_US,th

ARMED_FORCES,BANK,GOVERNMENT,SCHOOL,WORKDAY

东帝汶

TL

en_US,pt_TL,tet

GOVERNMENT,WORKDAY

汤加

TO

en_US,to

突尼斯

TN

阿拉伯语,en_US

土耳其

TR

en_US,tr,uk

半天

乌克兰

UA

ar,en_US,uk

工作日

阿拉伯联合酋长国

AE

阿拉伯语,en_US

英国

GB

子区域:ENG(英格兰),NIR(北爱尔兰),SCT(苏格兰),WLS(威尔士)

美属萨摩亚

UM

也可以作为国家US,子区域UM加载

非官方

美利坚合众国(the)

US

州和领地:AK,AL,AR,AS,AZ,CA,CO,CT,DC,DE,FL,GA,GU,HI,IA,ID,IL,IN,KS,KY,LA,MA,MD,ME,MI,MN,MO,MP,MS,MT,NC,ND,NE,NH,NJ,NM,NV,NY,OH,OK,OR,PA,PR,RI,SC,SD,TN,TX,UM,UT,VA,VI,VT,WA,WI,WV,WY

非官方

美属维尔京群岛(the)

参见美属维尔京群岛

非官方

乌拉圭

UY

en_US, es, uk

银行

乌兹别克斯坦

UZ

en_US, uk, uz

瓦努阿图

VU

梵蒂冈城国

VA

委内瑞拉

VE

en_US, es, uk

越南

VN

美属维尔京群岛

VI

也可以加载为国家 US,区域 VI

非官方

赞比亚

ZM

津巴布韦

ZW

可用金融市场

引用金融市场的标准方式是,当可用时,使用其 ISO 10383 MIC(市场识别码)作为“国家”代码。以下金融市场可用

实体

代码

信息

欧洲中央银行

ECB

泛欧实时全额结算系统(TARGET2)

ICE期货欧洲

IFEU

位于伦敦的投资交易所假日

纽约证券交易所

XNYS

NYSE市场假日(由所有其他美国交易所使用,包括纳斯达克等)

贡献

欢迎提交 问题拉取请求。请参阅 此处 获取更多信息。

许可证

代码和文档根据MIT许可证提供(见 LICENSE)。

项目详情


发布历史 发布通知 | RSS 源

下载文件

下载您平台的文件。如果您不确定选择哪个,请了解有关 安装软件包 的更多信息。

源代码发行版

holidays-0.57.tar.gz (545.9 kB 查看散列

上传于 来源

构建分发

holidays-0.57-py3-none-any.whl (1.1 MB 查看哈希值)

上传于 Python 3

由以下支持