Alternatywą dla istniejącego odpowiedź jest ustawienie formater z odpowiedniej strefy czasowej:
String input = "2015-01-05 17:00";
ZoneId zone = ZoneId.of("Australia/Sydney");
DateTimeFormatter fmt = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm").withZone(zone);
ZonedDateTime utc = ZonedDateTime.parse(input, fmt).withZoneSameInstant(UTC);
Ponieważ chcesz interakcji z bazą danych, może być konieczne a java.sql.Timestamp
, w takim przypadku nie trzeba jawnie konwertować na czas UTC, ale można użyć natychmiastowego:
ZonedDateTime zdt = ZonedDateTime.parse(input, fmt);
Timestamp sqlTs = Timestamp.from(zdt.toInstant());
Co rozumiesz przez "czas UTC"? Czy chcesz uzyskać wersję błyskawiczną? lub java.sql.Date? Czy liczba millis od epoki? – assylias