package edu.travel; import java.time.Instant; import java.time.ZoneId; import java.time.ZonedDateTime; import java.time.format.DateTimeFormatter; import java.util.Date; public class DateUtil { public static String convertServerTimeToUserStringTime(String userTimeZone) { // 获取服务器当前时间 ZonedDateTime serverTime = ZonedDateTime.now(); // 根据用户时区创建ZoneId ZoneId userZoneId = ZoneId.of(userTimeZone); // 转换时间为用户时区的时间 ZonedDateTime userTime = serverTime.withZoneSameInstant(userZoneId); // 格式化输出时间 DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); return userTime.format(formatter); } public static Date convertServerTimeToUserDateTime(String userTimeZone) { // 获取服务器当前时间 ZonedDateTime serverTime = ZonedDateTime.now(); // 根据用户时区创建ZoneId ZoneId userZoneId = ZoneId.of(userTimeZone); // 转换时间为用户时区的时间 ZonedDateTime userTime = serverTime.withZoneSameInstant(userZoneId); // 将ZonedDateTime转换为Instant Instant instant = userTime.toInstant(); // 从Instant创建Date对象 return Date.from(instant); } }