跳至内容
菜单
此问题已终结
4 回复
6142 查看

Hello all,

I have a query which needs a solution.

I have defined two float fields and assigned widget='float_time' as in xml. I need to subtract these two fields and need to get value in float.

For example:

start_time = 14:30 and end_time = 15:00

Now if i deduct i get value as 0.50 mins, But its wrong right?. So i need to value as 0.30 mins. How to achieve this?


形象
丢弃
编写者

Anyone knows please reply?

Please add your code as well

编写者

class LostTimeDetails(models.Model):

_name = 'lost.time.details'

_description = "Lost Time Details"

odometer_id = fields.Many2one('production.odometer', 'Production Odometer')

lost_time = fields.Char('Lost Time Activity')

start_time = fields.Float('Start Time')

end_time = fields.Float('End Time')

<field name="lost_time_ids" nolabel="1" attrs="{'readonly': [('state', '=', 'confirm')]}">

<tree editable="bottom">

<field name="lost_time"/>

<field name="start_time" widget="float_time"/>

<field name="end_time" widget="float_time"/>

</tree>

</field>

function for subtracting float_time fields:

@api.multi

def calc_button(self):

lost_time = 0.0

for line in self.lost_time_ids:

lost_time += line.end_time - line.start_time

line.lost_time = str(lost_time)

return

最佳答案

Hi,

You can try this code,

difference_time = self.end_time - self.start_time
duration = '{0:02.0f}:{1:02.0f}'.format(*divmod(difference_time * 60, 60))

In the duration variable you will get it correctly.

Thanks

形象
丢弃
编写者

Thanks It worked.

相关帖文 回复 查看 活动
5
10月 24
12573
3
10月 24
34211
1
4月 20
15993
1
9月 19
13171
2
7月 19
3803