python日期加减法操作

对日期的一些操作:

对日期的一些操作:

 1 #日期转化为字符串并得到指定(或系统日期)n天后的日期--@Eillot
 2 def dataTimeToString(dsNow=ReservationTime().get("workerDate"), dsDays=1):
 3     """
 4     :param dsNow: 表示今天的日期跟时分秒
 5     :param dsDays:表示n天后的日期(时分秒不变),默认值为1天后
 6     """
 7     #将workerDate字符串转换为日期 string => datetime
 8     workerDateTo_Datetime=datetime.datetime.strptime(dsNow,'%Y-%m-%d')
 9     delta=datetime.timedelta(dsDays)
10     ndays_after=workerDateTo_Datetime+delta
11     return ndays_after.strftime('%Y-%m-%d')
12 
13 #It is add(加法) and sub(减法) , which for "starttime" and "endtime".@eillot
14 def timeOperation( Operationstarttime, Operationendtime,flag=0):
15 
16     """
17     :param Operationstarttime: 
18     :param Operationendtime:
19     :param flag: 用于标记time的加减法,默认值我为0,表示time的1小时之后
20     """
21     order_starttime=datetime.datetime.strptime(Operationstarttime,'%H:%M')
22     order_endtime = datetime.datetime.strptime(Operationendtime,'%H:%M')
23     delta=datetime.timedelta(hours=1)
24     #datetime type:1900-01-01 14:00:00转化为str,并按'%H:%M'格式化输出
25     add_order_starttime =  (order_starttime + delta).strftime('%H:%M')
26     add_order_endtime = (order_endtime + delta).strftime('%H:%M')
27     if flag == 1:
28          #回到1小时前的starttime跟endtime
29          add_order_starttime =  (order_starttime - delta).strftime('%H:%M')
30          add_order_endtime = (order_endtime - delta).strftime('%H:%M')
31     return add_order_starttime , add_order_endtime#返回值类型为tuple(元组)

  

posted @ 2017-08-11 20:55  Eillot  阅读(3912)  评论(0编辑  收藏  举报