DateUtil.java 1.3 KB

12345678910111213141516171819202122232425262728293031323334
  1. package edu.travel;
  2. import java.time.Instant;
  3. import java.time.ZoneId;
  4. import java.time.ZonedDateTime;
  5. import java.time.format.DateTimeFormatter;
  6. import java.util.Date;
  7. public class DateUtil {
  8. public static String convertServerTimeToUserStringTime(String userTimeZone) {
  9. // 获取服务器当前时间
  10. ZonedDateTime serverTime = ZonedDateTime.now();
  11. // 根据用户时区创建ZoneId
  12. ZoneId userZoneId = ZoneId.of(userTimeZone);
  13. // 转换时间为用户时区的时间
  14. ZonedDateTime userTime = serverTime.withZoneSameInstant(userZoneId);
  15. // 格式化输出时间
  16. DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
  17. return userTime.format(formatter);
  18. }
  19. public static Date convertServerTimeToUserDateTime(String userTimeZone) {
  20. // 获取服务器当前时间
  21. ZonedDateTime serverTime = ZonedDateTime.now();
  22. // 根据用户时区创建ZoneId
  23. ZoneId userZoneId = ZoneId.of(userTimeZone);
  24. // 转换时间为用户时区的时间
  25. ZonedDateTime userTime = serverTime.withZoneSameInstant(userZoneId);
  26. // 将ZonedDateTime转换为Instant
  27. Instant instant = userTime.toInstant();
  28. // 从Instant创建Date对象
  29. return Date.from(instant);
  30. }
  31. }