關于處理時區那部分,昨天不知道背景也是按GMT的時區來存時間的,我重新整理補充一下:
現在的代碼需要計算時區的原因是Fiori UI上也要顯示GMT時區的時間,因為從背景是按GMT時間傳回給OData Call,然後被浏覽器轉換成了本地時區,是以現有的code要重新轉換回GMT。
從背景OData傳到前台是按GMT時區的字元串傳遞:

傳回的OData和背景的的時間都是GMT的時間。
UI5控件做format的時候傳給format方法的時間已經按照浏覽器的時區轉換為當地時區了:
是以format的代碼裡面要處理local time和GMT time的時間差,好讓Fiori UI上也顯示GMT時區的時間:
oValue.setMinutes(oValue.getTimezoneOffset());
Jerry昨天發現的BUG我這邊也能重制了,我建了三條前台都顯示的是昨天23号:
很奇怪,可能是UI5的控件本身有問題,沒時間深究,我暫時把這個問題記下來。