如何计算OpenERP中两个日期之间的差异?

如何计算OpenERP中两个日期之间的差异?,openerp,Openerp,在我的自定义模块中,我无法计算两个日期之间的差异 我的领域是 'date_s':fields.datetime('Start Date'), 'date_e':fields.datetime('End Date'), 我想在我的持续时间字段中自动计算差异: 'Duration':fields.char('Duration'), 为此使用函数字段:,在插件中有一些很好的示例,可以获得有关此类字段的线索 再次考虑使用date或datetime。如果你不需要时间,就用date 如需更多问题,请提

在我的自定义模块中,我无法计算两个日期之间的差异

我的领域是

'date_s':fields.datetime('Start Date'),
'date_e':fields.datetime('End Date'),
我想在我的持续时间字段中自动计算差异:

 'Duration':fields.char('Duration'),
  • 为此使用函数字段:,在插件中有一些很好的示例,可以获得有关此类字段的线索

  • 再次考虑使用date或datetime。如果你不需要时间,就用date

  • 如需更多问题,请提问:-)

    编辑:以这种方式尝试您的功能

    import openerp.tools as tools
    import datetime
    def _get_days(self, cr, uid, ids, field_name, args, context=None):
        res = {}
        for date in self.browse(cr, uid, ids, context=context):
            fmt = tools.DEFAULT_SERVER_DATETIME_FORMAT
            date_s = datetime.datetime.strptime(date.date_s, fmt)
            date_e = datetime.datetime.strptime(date.date_e, fmt)
            res[date.id] = (date_e-date_s).days or False
        return res
    

    这是我写的一个简单函数。希望它能帮助你

    def onchange_return_date(self, cr, uid, ids, issuedate, returndate):
     a=datetime.strptime(issuedate,"%Y-%m-%d")
     b=datetime.strptime(returndate,"%Y-%m-%d")
     timedelta = b - a
     diff=timedelta.days
     return {'value': {'days':diff}}
    

    这是我计算天数的函数。。。。。。。。。。。。。。。。。。。。。。。。。。def_get_days(self,cr,uid,ids,field_name,args,context=None):res={}表示self.browse中的日期(cr,uid,ids,context=context):res[date.id]=((date.date\s-date.date\e).days)或False返回res我正在创建这个函数,它给我的错误如下..res[date.id]=((date.date\s-date.date\e).days)或False类型错误:不支持-:'str'和'str'的操作数类型我更正了我的函数,但仍然得到类似此数据字符串[found.end():]的错误值错误:未转换的数据保留:10:52:57,我的函数是def\u get\u days(self,cr,uid,ids,field_name,args,context=None):res={}表示self中的日期。browse(cr,uid,ids,context=context):fmt='%Y-%m-%d'date.date_s=datetime.strtime(date.date_,fmt)date_e=datetime.strtime(date.date_,fmt)res[id]=((date.date-date.date-date.date_-date).date.)或False return resit给我这样的错误fmt=tools.DEFAULT_SERVER_DATE_FORMAT name错误:全局名称“tools”未定义您是否使用导入?“import openerp.tools as tools”在您的系统上可能有点不同我使用它,但它再次给我这样的错误日期=datetime.datetime.strTime(DATE.DATE,fmt)AttributeError:类型对象“datetime.datetime”没有属性“datetime”