Odoo - 将字符串转换为在python中浮动

时间:2017-05-09 05:19:39

标签: python odoo-9

time  = datetime.strptime(str(shift_change_ob.shift_date) ,"%Y-%m-%d %H:%M:%S").strftime("%H:%M")
self.orginal_shift_time = float(time)

type(time)为 string ,而type(self.orginal_shift_time)为 float 。所以我得到 ValueError:float()的无效文字:07:00 。如何将字符串值赋给float字段?

2 个答案:

答案 0 :(得分:1)

你正在使用冒号strftime("%H:%M")分隔小时和分钟,无法转换为浮动。

所以用点strftime("%H.%M")替换冒号,现在它会起作用。

>>> time = strftime("%H.%M")
>>> shift_time = float(time)
>>> shift_time
10.55

答案 1 :(得分:0)

时间变量将包含字符串, 如果你想要小时和分钟..使用datetime.hour和datetime.minute。 我假设shift_change_ob.shift_date是一个日期时间对象。你可以从这个对象中获取值。

let newArray = originalArray.filter {
    //This is where you filter based on indexes
}.sort {
    //This is where you sort your filtered array
}

应该给你想要的东西。

如果需要将值存储为单个浮点变量,可以

shift_change_ob.shift_date.hour
shift_change_ob.shift_date.minute 

10/6是将分钟转换为小数的因素。