Python Cookbook学习记录 ch3_5/8_2013/10/30
3.5 计算日期之间的工作日
文中使用了dateutil模块,由于deteutil模块属于第三方模块,需要额外安装,所以尝试不适用此模块来实现此功能
方法就是使用weekday()方法,由于周六与周日的数值为5和6,不属于这两天的即是工作日:
>>> import datetime >>> def workday_between(startday,endday): oneday = datetime.timedelta(days=1) daycheck = endday workday_num = 0 while daycheck != startday: if daycheck.weekday() not in (5,6): workday_num += 1 daycheck = daycheck - oneday return workday_num >>> today = datetime.date.today() >>> oneday = datetime.date(2013,10,4) >>> print workday_between(oneday,today) 18
3.8 检查夏令时是否正在实行
time结构里面的tm_isdst即为是否执行夏令时
>>> import time >>> time.localtime() time.struct_time(tm_year=2013, tm_mon=10, tm_mday=30, tm_hour=22, tm_min=16, tm_sec=35, tm_wday=2, tm_yday=303, tm_isdst=0)
可以如下方法实现:
>>> def is_dst(): return bool(time.localtime().tm_isdst) >>> is_dst() False
浙公网安备 33010602011771号