Skip to Content
Menu
This question has been flagged
4 Replies
5962 Rodiniai

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?


Portretas
Atmesti
Autorius

Anyone knows please reply?

Please add your code as well

Autorius

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

Best Answer

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

Portretas
Atmesti
Autorius

Thanks It worked.

Related Posts Replies Rodiniai Veikla
5
spal. 24
12398
3
spal. 24
33873
1
bal. 20
15599
1
rugs. 19
13014
2
liep. 19
3638