python中datetime.datetime,python日期和时间
本文实例为大家分享了大蟒计算日期之间的放假日期,供大家参考,具体内容如下
代码如下:
#编码=utf-8
打印中国
#自动查询节日给定起始日期和结束日期,自动获取总共的节假日天数
导入日期时间
从复活节进口规则开始
尝试:设置
名称除外错误:从集合将集合导入为集合
#复活节
def all_easter(开始,结束):
复活节。x范围内y的复活节(y )(开始。年,年末.年1)]
return[d for d in easters if start=d=end]
#开始到结束的节礼日列表
def所有_装箱(开始,结束):
一天=日期时间。时间增量(天数=1)
装箱=[复活节。x范围内y的复活节(y)一天(开始。年,年末.年1)]
返回[如果开始=d=结束,则盒中的d为d]
#返回开始和结束日期之间的圣诞节列表
def all _圣诞节(开始,结束):
圣诞节=[x范围(开始。年末,第1年)中y的datetime.date(y,12,25)]
返回[在圣诞节,如果开始=d=结束,则d代表d]
#返回劳动节列表
def all_labor(开始,结束):
劳动=规则。规则(规则.每年,bymonth=9,byweekday=rrule .MO(1),dtstart=开始,直到=结束)
返回[d .劳动中d .的日期()
#读取设定的节假日
def read_holidays(start,end,holidays_file=holidays.txt ):
尝试:
假日文件=打开(假日文件)
除了IOError,错误:
打印"打开失败"
return []
节假日=[]
对于假日_文件中的行:
如果line.isspace()或line.startswith(# ):
继续
尝试:
y,m,d=[int(x . strip())for x in line。拆分(,)]
date=datetime.date(y,m,d)
除了值错误:
打印"无效行查找"
继续
如果开始=日期=结束:
假日。追加(日期)
holidays_file.close()
返程假期
假日_国家={
美国:(所有_复活节,所有_圣诞节,所有_劳动),
它:(所有_复活节,所有_拳击,所有_劳动)
}
def holidays(cc,start,end,holidays_file=holidays.txt ):
all _ holidays=read _ holidays(start,end,holidays_file)
functions=holidays _ by _ country。获取(抄送,())
对于函数中的函数:
all_holidays=函数(开始,结束)
all _ holidays=list(set(all _ holidays))
return (len(all_holidays),all_holidays)
test_file=open(rD:\123.txt , w )
test_file.write(2014,3,23 )
test_file.close()
打印假日(美国,datetime.date(2014,1,1),datetime.date(2014,12,31),rD:\123.txt )
打印结果如下:
中国
(4,[日期时间。日期(2014,4,20),日期时间。日期(2014,12,25),日期时间。日期(2014,3,23),日期时间。日期(2014,9,1)]
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。