ebean的日期时间与Mysql数据之间的时间差

问题描述 投票:0回答:1

我将一天中的时间存储在Mysql数据库中(例如,上午7:15)。我不知道为什么,但是由于我升级到Play 2.6,所以有4.5小时的差异。

[当我查看Mysql数据库中的原始数据时,我得到了正确的时间:

| id | start_time        | UNIX_TIMESTAMP(start_time) | TIMESTAMPDIFF(SECOND,'1970-01-01 00:00:00',start_time) |
12 | 1970-01-01 08:30:00 |                      27000 |                                                  30600 |

但是当我在应用程序中使用它时,我得到了4.5小时的时间:

Action time start: Thu Jan 01 04:00:00 GMT 1970 - 10800000 id: 12

代码:

    Logger.debug("TZ " + Calendar.getInstance().getTimeZone());
    for(ActionTime time : action.getTimes()) {

        Logger.debug("Action time start: " + time.getStartTime() +  " - " + time.getStartTime().getTime() + " id: " + time.getId());
    }

MySql时间正确,与今天升级之前一样。记录器中打印的时区也正确(现在是UTC + 1,所以我对MySql中的小时感到满意。

我也确实升级了Mysql驱动程序,但是恢复为旧驱动程序没有任何区别。据我所知,ebean版本的更改是最大的更改?

我怎么知道会发生什么?

mysql playframework
1个回答
0
投票

经过大量的反复试验,解决方案是添加

[server]
default-time-zone=+00:00

到服务器配置。这解决了4.5小时偏移的问题。

© www.soinside.com 2019 - 2024. All rights reserved.