如何计算另一个日期的剩余天数

How to calculate the number of days remaining for another date

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

这是我试过但不起作用的解决方案:

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 !"),
        ]

你必须正确地做到这一点:

  • 指定正确的date/time格式

  • 从字符串中解析日期时间

  • 减去相同的数据类型: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