1. 程式人生 > >django計算剩餘時間和狀態(眾籌專案的時間倒計時):

django計算剩餘時間和狀態(眾籌專案的時間倒計時):

方法1:starttime = project.enddate #定義起始時間,enddate為model定義的欄位,project是例項化model中Project類後的例項 endtime = datetime.now() #匯入datetime 定義結束時間 starttime = datetime.strptime(starttime.strftime('%Y-%m-%d'),'%Y-%m-%d')#必須將時間先格式化 endtime = datetime.strptime(endtime.strftime('%Y-%m-%d'),'%Y-%m-%d') remain_time = (starttime-endtime).days#起始時間減去結束時間return 。。。#將starttime返回給前端{{ project.remain_time }}#前端渲染#自動計算當前的狀態def surplusTime(self): # 計算眾籌剩餘時間 now_day=datetime.datetime.now().strftime('%Y-%m-%d') old_day = self.daploydate.strftime('%Y-%m-%d') day1 = datetime.datetime.strptime(now_day, '%Y-%m-%d') day2 = datetime.datetime.strptime(old_day, '%Y-%m-%d') if day1 < day2: self.status = 1 return '眾籌未開始' else: da_day = day1 - day2 self.surplustime = self.day - da_day.days方法2:model 中: def get_time(self): starttime = self.enddate endtime = datetime.now() starttime = datetime.strptime(starttime.strftime('%Y-%m-%d'), '%Y-%m-%d') endtime = datetime.strptime(endtime.strftime('%Y-%m-%d'), '%Y-%m-%d') remain_time = (starttime - endtime).days if remain_time >0: self.status =1 #model中用choice欄位定義0,1,2,3為當前的狀態(0,未開始,1,即將開始,2,眾籌中,3,眾籌結束) elif remain_time <=0: if self.money <= self.supportmoney: self.status = 2 else: self.status =3 return remain_time前端渲染狀態:{{ project.get_status_display}}//get_choice欄位_display model 中帶choice的欄位用法前端渲染剩餘時間{{ project.get_time }}