天天看點

SAP UI5日期字段關于時區GMT的處理

關于處理時區那部分,昨天不知道背景也是按GMT的時區來存時間的,我重新整理補充一下:

現在的代碼需要計算時區的原因是Fiori UI上也要顯示GMT時區的時間,因為從背景是按GMT時間傳回給OData Call,然後被浏覽器轉換成了本地時區,是以現有的code要重新轉換回GMT。

從背景OData傳到前台是按GMT時區的字元串傳遞:

SAP UI5日期字段關于時區GMT的處理

傳回的OData和背景的的時間都是GMT的時間。

UI5控件做format的時候傳給format方法的時間已經按照浏覽器的時區轉換為當地時區了:

SAP UI5日期字段關于時區GMT的處理

是以format的代碼裡面要處理local time和GMT time的時間差,好讓Fiori UI上也顯示GMT時區的時間:

oValue.setMinutes(oValue.getTimezoneOffset());

Jerry昨天發現的BUG我這邊也能重制了,我建了三條前台都顯示的是昨天23号:

SAP UI5日期字段關于時區GMT的處理
SAP UI5日期字段關于時區GMT的處理
SAP UI5日期字段關于時區GMT的處理

很奇怪,可能是UI5的控件本身有問題,沒時間深究,我暫時把這個問題記下來。

繼續閱讀