2016-04-23 97 views
1

如何从视图导入日期并计算另一日期的剩余天数?如何计算另一日期的剩余天数

这里是我试过的解决方案,但它不工作:

class saisir_soumi(osv.osv): 
    _name='saisir.soumi' 

    def compa_date(self,cr,uid,ids,args,fields,context=None):  
     r = {} 
     date_format = "%D/%M/%Y" 
     joining_date = 'date_depot' 
     current_date = '29/04/2016 02:02:02'# current date 
     d1 = datetime.strptime(joining_date, date_format) 
     d2 = datetime.strptime(current_date, date_format) 
     diff = current_date - datetime.date.today() 
     return diff.days 

    _rec_name = 'NumOffre' 

    _columns = { 
     'NumOffre' : fields.char('N° Offre',required=True), 
     'organisme_s' : fields.char('Organisme',required=True), 
     'date_depot' : fields.datetime('Date dépot de soumission'), # the date to be seized and used for its difference with current date(today) 
     'jrestant': fields.function(compa_date,string='Jours restant') 
     } 
    _sql_constraints = [ 
     ('uniq_NumOffre', 'unique(NumOffre,id)', "numero offre doit resté unique !"), 
     ] 
+0

使用_columns = {}是旧为odoo 8,其odoo 7样式。只是说 –

回答

3

你要好好做:

  • 指定从正确的日期/时间格式

  • 解析日期时间字符串

  • 减去相同的数据类型:datetime - datetime

代码:

In [68]: current_date = '29/04/2016 02:02:02' 

In [69]: date_format = '%d/%m/%Y %H:%M:%S' 

In [70]: (datetime.datetime.strptime(current_date, date_format) - datetime.datetime.now()).days 
Out[70]: 5 
+0

是的好吧我试试这个方法 – khelifa