Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Odoo 如何计算两个datetime字段之间的小时数_Odoo - Fatal编程技术网

Odoo 如何计算两个datetime字段之间的小时数

Odoo 如何计算两个datetime字段之间的小时数,odoo,Odoo,我有两个datetime字段,它们是 '`date_from`': fields.datetime('Submission Date'). '`date_to`': fields.datetime('Return Date'). 所以我需要在下面的字段中显示两个日期之间的小时数 '`diff_hrs`': fields.float('Total Hrs'). 如何获取它请帮助我尝试以下操作: 添加一个field.function "total_hours" : fields.funct

我有两个datetime字段,它们是

 '`date_from`': fields.datetime('Submission Date').
 '`date_to`': fields.datetime('Return Date').
所以我需要在下面的字段中显示两个日期之间的小时数

 '`diff_hrs`': fields.float('Total Hrs').
如何获取它请帮助我尝试以下操作:

添加一个field.function

"total_hours" : fields.function(_calculate_total_hours,string="Total Hours", type="float")

import datetime

def _calculate_total_hours(self,cr,uid,ids,Name=None,args=None,context=None):
    res={}
    for record in self.browse(cr,uid,ids,context=context):
        d_frm_obj = datetime.datetime.strptime(record.date_from, DEFAULT_SERVER_DATETIME_FORMAT)
        d_to_obj = datetime.datetime.strptime(record.date_to, DEFAULT_SERVER_DATETIME_FORMAT)

        diff = d_to_obj - d_frm_obj

        hours = (diff.seconds)/ 3600
        print hours

        diff_days = diff.days
        print diff_days

        days_hours = diff_days * 24
        print days_hours

        total_hours = days_hours + hours
        print total_hours
        res[record.id]=total_hours
    return res

如果你想发帖,可能会对你有所帮助


这是什么语言?我如何向该函数添加分钟请帮助我使用发布日期和返回日期字段,首先我必须起草没有返回日期的数据,这意味着只有发布日期和总小时数为零。在下一阶段中,我想添加返回日期并计算总小时数。我如何获得它?请帮助我
def onchange_return_date(self, cr, uid, ids, date_from, date_to):
 a=datetime.strptime(date_to,"%Y-%m-%d")
 b=datetime.strptime(date_from,"%Y-%m-%d")
 timedelta = b - a
 diff=timedelta.days
 return {'value': {'days':diff}}