我们将日期存储在sqlserver db表中,作为varchar。当在Java代码中将其作为字符串读取然后解析为Date时,它将被读取为UTC(Java代码位于UT中的服务器中)。将日期重新转换为ET时要晚4小时。如何处理将日期存储在此db列中的ET中,以便在Java代码中将其读取为ET。
我们正在研究偏移量,但并未确切了解该怎么做。
表03/29/2019 23:23:03中的Varchar日期//我们希望此日期位于ET中
SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss");
Date beginDate = sdf.parse("03/29/2019 23:23:03");
Run Code Online (Sandbox Code Playgroud)
//问题是执行此代码时,服务器处于UTC状态。因此beginDate //被解读为UTC时间03/29/2019 23:23:03而不是美国东部时间03/29/2019 23:23:03
预计于03/29/2019 23:23:03 ET实际03/29/2019 23:23:03 UTC