赞
踩
import java.time.LocalDateTime; import java.time.ZoneId; import java.time.ZonedDateTime; import java.time.format.DateTimeFormatter; public class UTCToBeijingTime { public static void main(String[] args) { // UTC时间字符串 String utcTimeStr = "2022-05-02T12:34:56Z"; // 创建UTC时间对象 LocalDateTime utcTime = LocalDateTime.parse(utcTimeStr, DateTimeFormatter.ISO_DATE_TIME); // 将UTC时间转换为北京时间 ZoneId utcZoneId = ZoneId.of("UTC"); ZoneId beijingZoneId = ZoneId.of("Asia/Shanghai"); ZonedDateTime utcDateTime = ZonedDateTime.of(utcTime, utcZoneId); ZonedDateTime beijingDateTime = utcDateTime.withZoneSameInstant(beijingZoneId); // 输出北京时间字符串 String beijingTimeStr = beijingDateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); System.out.println("北京时间:" + beijingTimeStr); } } 北京时间:2022-05-02 20:34:56
其中,表示获取UTC时区对象,表示获取北京时区对象,表示将UTC时间转换为北京时间。 最后,使用格式化输出北京时间字符串。ZoneId.of(“UTC”)ZoneId.of(“Asia/Shanghai”)utcDateTime.withZoneSameInstant(beijingZoneId)DateTimeFormatter
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
public class StringToLocalDateTime {
public static void main(String[] args) {
String str = "2022-05-05T08:30:00";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss");
LocalDateTime dateTime = LocalDateTime.parse(str, formatter);
System.out.println(dateTime);
}
}
上述代码中,我们使用 DateTimeFormatter 定义了日期时间的格式,并且使用 parse 方法将字符串解析为 LocalDateTime 对象。 最终输出结果为 。 需要注意的是,DateTimeFormatter 中的格式要和字符串的格式完全一致,否则会抛出异常。2022-05-05T08:30
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。