time = datetime.strptime(str(shift_change_ob.shift_date) ,"%Y-%m-%d %H:%M:%S").strftime("%H:%M")
self.orginal_shift_time = float(time)类型(Time)为字符串,而类型(self.orginal_shift_time)为浮点。因此,我得到了ValueError:的无效文本,用于():07:00。如何将字符串值赋值给浮动字段?
发布于 2017-05-09 05:31:38
如果您使用冒号strftime("%H:%M")来分隔小时和分钟,则不可能将其转换为浮动。
所以用点strftime("%H.%M")代替冒号,现在它就能工作了。
>>> time = strftime("%H.%M")
>>> shift_time = float(time)
>>> shift_time
10.55发布于 2017-05-09 05:45:55
如果您想要时间和分钟,时间变量将有字符串。使用datetime.hour和datetime.minute。我假设shift_change_ob.shift_date是一个datetime对象。您可以从该对象本身获取值。
shift_change_ob.shift_date.hour
shift_change_ob.shift_date.minute 应该给你想要的。
如果需要将值存储为单个浮动变量,则可以,
time = datetime.strptime(str(shift_change_ob.shift_date) ,"%Y-%m-%d %H:%M:%S").strftime("%H:%M")
f_time = float(time.split(':')[0] + '.' + str(float(time.strip(':')[1])*(10/6)))10/6是将分钟转换为小数的因素。
https://stackoverflow.com/questions/43861705
复制相似问题