计算 Odoo 8 中特定日期之前的剩余天数
calculate the remaining days before a specific date in Odoo 8
我想计算特定日期之前的剩余天数,必须在相同的视图表单中输入。
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'),
}
您可以使用内置的日期时间,timedelta object
>>> import datetime
>>> diff = d1 - datetime.date.today()
>>> diff.days
这里是这个解决方案
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'),
}
我想计算特定日期之前的剩余天数,必须在相同的视图表单中输入。
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'),
}
您可以使用内置的日期时间,timedelta object
>>> import datetime
>>> diff = d1 - datetime.date.today()
>>> diff.days
这里是这个解决方案
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'),
}