2016-04-23 6 views
1

Wie kann ein Datum aus der Ansicht importiert und die Anzahl der verbleibenden Tage für ein anderes Datum berechnet werden? HierSo berechnen Sie die Anzahl der verbleibenden Tage für ein anderes Datum

ist die Lösung, die ich versucht, aber es funktioniert nicht:

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

mit _columns = {} ist alt für odoo 8, seine odoo 7 Stil. sag nur –

Antwort

3

Sie haben es richtig zu machen:

  • korrekte Datum/Uhrzeit-Format

  • Parse Datumzeit angeben, ab Zeichenfolge

  • subtrahieren die gleichen Datentypen: datetime - datetime

Code:

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

ja es ist Ok ich versuche diese methode – khelifa

Verwandte Themen