datetime 是一個用于日期時間處理的模塊噪生。
可以調用 datetime 的 date 方法來獲取一個日期對象九默。
import datetime
print datetime.date(2017,1,12)
輸出:
2017-01-12
如果想要知道某個日期是否是工作日平斩,可以調用 datetime 的 weekday 方法恩急。 它會返回一個數值盛垦,代表那一天是星期幾。 周一對應數字 1裁良, 周日對應數字 7凿将,如果數字小于 5, 說明就是工作日了趴久。
所以如果想要知道某個日期后一段時間內哪些天是工作日丸相,可以寫一個函數來判斷:
import datetime
def business_days(start_date, num):
result = []
while len(result) < num:
for i in xrange(num):
result.append(start_date)
start_date += datetime.timedelta(1)
return result```
其中的 timedelta 方法可以返回一段時間間隔搔确,
`class datetime.timedelta
([days[, seconds[, microseconds[, milliseconds[, minutes[, hours[, weeks]]]]]]])`
比如可以這樣用
`datetime.timedelta(weeks=40, days=84, hours=23, minutes=50, seconds=600)`
測試一下看看 2017 年 1 月 26 日后的十天哪些天是工作日呢彼棍,
start_date = datetime.date(2017, 1, 26)
result = business_days(start_date, 10)
print result
結果返回了一個列表,
[datetime.date(2017, 1, 26), datetime.date(2017, 1, 27), datetime.date(2017, 1, 30), datetime.date(2017, 1, 31), datetime.date(2017, 2, 1), datetime.date(2017, 2, 2), datetime.date(2017, 2, 3), datetime.date(2017, 2, 6), datetime.date(2017, 2, 7), datetime.date(2017, 2, 8)]
當然我們的實際工作日沒有這么多膳算,因為這段時間剛好是 2017 年的中國春節(jié)座硕。