关于处理时区那部分,昨天不知道后台也是按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的控件本身有问题,没时间深究,我暂时把这个问题记下来。