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