對日期的一些操作:
對日期的一些操作:
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(元組)
