方法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 }}