Я хочу добавить дату и время UTC в мою базу данных mysql в качестве метки времени. Ранее я пытался использовать SimpleDateFormat как:
//UTC based issued date and expiry date
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
sdf.setTimeZone(TimeZone.getTimeZone("UTC"));
final String currentUtc= sdf.format(new Date());
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date currentDate = (Date) simpleDateFormat.parse(currentUtc); //java.util.date
Это сработало, но я обнаружил, что использование SimpleDateFormat не рекомендуется. Так что теперь я использую api Instant date time как:
Instant currentInstant = Instant.now().truncatedTo(ChronoUnit.SECONDS); //gives UTC datetime
, который правильно показывает мне текущее время в UTC.
Проблема заключается в том, что когда я добавляю этот момент в свою базу данных, он конвертируется в локальную дату, добавляя смещение времени UTC к тому моменту, который мне не нужен.
//adding UTC time to database but not working
ps.setTimestamp(1, Timestamp.from(currentInstant));
Итак, как добавить дату UTC без добавления смещения времени UTC в моей базе данных? Заранее спасибо.