Приветствую уважаемые форумчане.
Не могу понять что происходит с LocalDateTime.
1. Текущее время
2020-10-02 05:02:00
Записываю в БД текущую дату.
2020-10-01 18:02:00
LocalDateTime.now()
На следующей строке проверяю текущую дату
2020-10-02T05:02:00
System.out.println(LocalDateTime.now());
Ниже на строке проверяю текущую часовую зону сервера
2020-10-02T05:02:00+11:00[Asia/Sakhalin]
System.out.println(ZonedDateTime.now());
Потом проверяю текущее время сервера mysql
mysql> SELECT CURTIME();
+-----------+
| CURTIME() |
+-----------+
| 05:02:00 |
+-----------+
Далее проверяю часовую зону MySql
SELECT EXTRACT(HOUR FROM (TIMEDIFF(NOW(), UTC_TIMESTAMP))) AS `timezone`;
+----------+
| timezone |
+----------+
| 11 |
+----------+
Везде все даты и часовые пояса в порядке, но когда записываю данные в
БД, то дата сдвигается на
11 часов назад, то есть, записываю текущую даты
2020-10-02 05:02:00 а попадает в БД
2020-10-01 18:02:00
Что происходит и почему так, непонятно.
Кто может объяснить, что происходит?