2016-04-23 14 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

はいいいえ私はこのméthodeを試して – khelifa

関連する問題