java.time
Для Java 6 & 7 вы можете использовать проект ThreeTen-Backport , чтобы перенести большинство современных java.time функциональность для Java 6 и Java 7. Это означает, что вы можете избежать использования ужасных устаревших классов даты и времени, таких как SimpleDateFormat
(заменен DateTimeFormatter
).
парсинг даты 2019-06-18T19: 04: 30.515 UTC
Сначала мы манипулируем вашей входной строкой для полного соответствия ISO 8601 .Мы заменим этот пробел и «UTC» на Z
, произносится «Зулу».
String input = "2019-06-18T19:04:30.515 UTC".replace( " UTC" , "Z" ) ;
Instant instant = Instant.parse( input ) ;
и изменим его на местное время?
Чтобы настроитьв другой часовой пояс от UTC, примените ZoneId
, чтобы получить ZonedDateTime
.
ZoneId z = ZoneId.of( "Pacific/Auckland" ) ; // Or "Europe/Berlin" etc.
ZonedDateTime zdt = instant.atZone( z ) ;
Чтобы создать строку, представляющую значение даты и времени, локализованное для человеческого языка и культурных норм пользователя, используйте DateTimeFormatter.ofLocalizedDateTime
.