我希望计算特定日期之前的剩余天数,必须在同一查看表单中输入。
class saisir_soumission(osv.osv):
_name='saisir.soumission'
def compa_date(self,cr,uid,ids,args,fields,context=None):
r = {}
date_format = '%d-%m-%Y'
joining_date = 'Date_ouv_pli'
current_date = (datetime.today()).strftime(date_format)
d1 = datetime.strptime(joining_date, date_format).date()
d2 = datetime.strptime(current_date, date_format).date()
r = str((d2-d1).days + 1)
return r
_columns = {
'NumOffre' : fields.char('N° Offre'),
'organisme_s' : fields.char('Organisme'),
'caution' : fields.float('Caution'),
'Date_ouv_pli' : fields.date('Date Ouverture Plis'), #field to be entered
'observation_d' : fields.text('Observation'),
'compar' : fields.function(compa_date,string='Jours Restants'),
}
下面我将发布一个通用的解决方案供您参考
希望这对你有帮助。在
这就是解决方案
class saisir_soumission(osv.osv): _name='saisir.soumission' def compa_date(self,cr,uid,ids,args,fields,context=None): r = {} date_format = "%Y-%m-%d %H:%M:%S" joining_date = 'Date_ouv_pli' current_date = fields.datetime.now() d1 = datetime.strptime(joining_date, date_format) d2 = datetime.strptime(current_date, date_format) days = (d2 - d1).days return days _columns = { 'NumOffre' : fields.char('N° Offre'), 'organisme_s' : fields.char('Organisme'), 'caution' : fields.float('Caution'), 'Date_ouv_pli' : fields.date('Date Ouverture Plis'), #field to be entered 'observation_d' : fields.text('Observation'), 'compar' : fields.function(compa_date,string='Jours Restants'), }
;您可以使用内置日期时间,timedelta object