В приложении, которое я разрабатываю, мне нужно преобразовать java.time.Instant объект в java.sql.Timestamp. Когда я создаю Instant object, например
Instant now = Instant.now();
и проверьте элемент. Я получаю что-то вроде 2017-03-13T14:28:59.970Z
Затем я пытаюсь создать объект Timestamp следующим образом:
Timestamp current = Timestamp.from(now);
И когда я проверяю элемент. Я получаю что-то вроде 2017-03-13T16:28:59.970Z
Тот же результат, но с добавленным смещением в 2 часа.
Может ли кто-нибудь объяснить, что это происходит, и дать мне ответ, как решить это без задержек?
Когда я создал следующее:
LocalDateTime ldt = LocalDateTime.ofInstant(Instnant.now(), ZoneOffset.UTC);
Timestamp current = Timestamp.valueOf(ldt);
Все работает отлично. Но я стараюсь избегать конверсий. Есть ли способ сделать это только с помощью Instant object?