我想转换"Tue Feb 27 2024 16:35:30 GMT +0800"字符串为ZonedDateTime类型
我用new ZonedDateTime.ofInstant(new Date("Tue Feb 27 2024 16:35:30 GMT+0800").toInstant(), ZoneId.of("Asia/Shanghai"))
但new Date()
是废弃的
我想转换"Tue Feb 27 2024 16:35:30 GMT +0800"字符串为ZonedDateTime类型
我用new ZonedDateTime.ofInstant(new Date("Tue Feb 27 2024 16:35:30 GMT+0800").toInstant(), ZoneId.of("Asia/Shanghai"))
但new Date()
是废弃的
如何使用DateTimeFormatter
和try 这个?
public static void main(String[] args) {
String dateString = "Tue Feb 27 2024 16:35:30 GMT+0800";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("EEE MMM dd yyyy HH:mm:ss 'GMT'Z", Locale.ENGLISH);
ZonedDateTime zonedDateTime = ZonedDateTime.parse(dateString, formatter);
ZonedDateTime shanghaiTime = zonedDateTime.withZoneSameInstant(ZoneId.of("Asia/Shanghai"));
System.out.println("Parsed ZonedDateTime: " + shanghaiTime);
}