Bỏ qua để đến Nội dung
Menu
Câu hỏi này đã bị gắn cờ
4 Trả lời
6183 Lượt xem

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?


Ảnh đại diện
Huỷ bỏ
Tác giả

Anyone knows please reply?

Please add your code as well

Tác giả

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

Câu trả lời hay nhất

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

Ảnh đại diện
Huỷ bỏ
Tác giả

Thanks It worked.

Bài viết liên quan Trả lời Lượt xem Hoạt động
5
thg 10 24
12626
3
thg 10 24
34236
1
thg 4 20
16061
1
thg 9 19
13181
2
thg 7 19
3833