3
我使用了一個帶有窗口小部件「float_time」的float字段來顯示時間。如何將日期時間轉換爲浮動狀態以在窗口小部件中正確顯示?將日期時間轉換爲浮點型 - OpenERP 7
我解釋一下我的情況,
我有一個場場「起始日期」,這是日期時間,我想,在事件「on_change」我在float類型的另一場已設定的時間價值小部件「float_time」。
'start_date': fields.datetime('Fecha Inicio' , required = True),
'h_inicio': fields.float('Hora inicio', help="Hora inicio" , required = True),
鑑於:
<field name="start_date" on_change="onchange_f_inicio(start_date)"/>
<field name="h_inicio" widget="float_time"/>
方法on_change
def onchange_f_inicio(self, cr, uid, ids ,fecha_inicio):
res = {'value':{}}
fecha_ini = datetime.strptime(fecha_inicio, "%Y-%m-%d %H:%M:%S")
user = self.pool.get('res.users').browse(cr, uid, uid)
tz = pytz.timezone(user.tz) if user.tz else pytz.utc
fecha_ini = pytz.utc.localize(fecha_ini).astimezone(tz) # convert start in user's timezone
hora_inicio = "%s.%s" % (str(fecha_ini.hour) , str(fecha_ini.minute))
res['value']['h_inicio'] = round(float(hora_inicio),1)
return res
只的運作方式是將日期「開始日期」轉換成字符串,然後轉換成浮子是方法on_change返回的值。
這種形式並不認爲這是最好的,如果我可以幫助創建一個更好的方式來感謝你。
感謝
請按照後指導!如果你想讓人們花時間回答你的問題,你需要努力給他們一些工作。 –
對不起,我會生成一個更好的問題。 –
看起來你已經很好了,看起來更新的問題! –