python增加工作日列_将工作日添加到日期字段
我試圖在Django的日期字段中添加一些工作日。這是針對產品訂購,我們對不同的產品有不同的交付周期,我們希望為每個產品生成一個目標日期。在
例如,產品X可能需要10個工作日才能交付,如果此產品是在2013年3月1日星期五訂購的,則目標日期應為2013年3月15日星期五(不包括作為一天的訂購日期)。在
我環顧了一下,似乎有一些python庫可以完成這類工作,但似乎都過于復雜了。我認為有一個相當簡單的方法可以做到這一點。在
**編輯**
我現在使用的是BusinessHours PyPi包,但是似乎遇到了一些問題。在
他們給了你一個如何調用包的例子。在eg: Class: BusinessHours(datetime1,datetime2,worktiming=[9 ,18],weekends=[6,7],holidayfile=None)
Class Parameters:
datetime1 - The datetime object with the starting date.
datetime2 - The datetime object with the ending date.
worktiming - The working office hours . A list containing two values start time and end time
weekends - The days in a week which have to be considered as weekends sent as a list, 1 for monday ... 7 for sunday.
holidayfile - A file consisting of the predetermined office holidays.Each date starts in a new line and currently must only be in the format dd-mm-yyyy
from BusinessHours import BusinessHours
from datetime import datetime
testing = BusinessHours(datetime(2007,10,15),datetime.now())
print testing.getdays()
利用這些信息,我做了下面的測試腳本
^{pr2}$
我的假期文件包含以下內容(2月的一個隨機工作日)07-02-2013
當我運行腳本時,我得到以下錯誤。在Traceback (most recent call last):
File "business_days", line 9, in ?
print testing.getdays()
File "/usr/lib/python2.4/site-packages/BusinessHours.py", line 63, in getdays
holidate = date(int(year) , int(month) , int(day))
NameError: global name 'date' is not defined
這是包中的代碼部分。在60 for definedholiday in definedholidays:
61 flag=0;
62 day , month , year = definedholiday.split('-')
63 holidate = date(int(year) , int(month) , int(day))
64 for weekend in self.weekends:
65 #check if mentioned holiday lies in defined weekend , shouldnt deduct twice
66 if(holidate.isoweekday==weekend):
67 flag=1;
68 break;
感謝任何人給我的幫助,我的Python版本是2.4.3
總結
以上是生活随笔為你收集整理的python增加工作日列_将工作日添加到日期字段的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android运营商获取本机号码_一键登
- 下一篇: python设置excel的格式_pyt