Timestamp的时区问题,需要注意js

public class AObject{
   private Timestamp startTm;
   ...
}

1、js中new Date(XXX),如果XXX是Timestamp的话,会根据不同时区显示不一样的时间

如下,数据库中startTm是日本时区2022/09/28 17:02:00
本机器是中国时区,显示的时间会少一个小时,2022/09/28 16:02:00
var data = JSON.parse($("#jsonData").val())
var startTm = data[0].startTm

console.log(startTm)
var dt = new Date(startTm.time)
console.log(dt)

Timestamp的时区问题,需要注意js_第1张图片

Timestamp的时区问题,需要注意js_第2张图片

 Timestamp的时区问题,需要注意js_第3张图片

 2、java中new Date(XXX),好像不会受到时区属性的影响,时间依旧是2022/09/28 17:02:00

SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm");
Date fMstartTM = null;
fMstartTM = new Date(obj.get(0).getStartTm().getTime());
String startTMStr=sdf.format(fMstartTM );

3、Mapper中也不会受到时区属性的影响,时间依旧是2022/09/28 17:02:00

update USER_INFO
set 
  UPDATE_TM = CONVERT(datetime2, #{startTm})
  ...
where
  ...

你可能感兴趣的:(1024程序员节,java)