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字段?
答案 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是将分钟转换为小数的因素。