java如何获取utc时间

java如何获取utc时间

作者:Elara发布时间:2026-02-05阅读时长:0 分钟阅读次数:3

用户关注问题

Q
Java中如何获取当前的UTC时间?

我想在Java程序里获取当前的UTC时间,应该使用哪些类或方法?

A

使用Java 8及以上版本获取UTC时间的方法

可以使用Java 8引入的java.time包,调用Instant.now()获取当前UTC时间,Instant类表示的是UTC时间点。示例代码:Instant utcNow = Instant.now();

Q
如何将Java中的本地时间转换成UTC时间?

如果已经有了Java中的本地时间(LocalDateTime),怎么转换成对应的UTC时间?

A

通过时区转换实现本地时间转UTC时间

先将LocalDateTime与系统默认时区结合成ZonedDateTime对象,然后调用withZoneSameInstant(ZoneOffset.UTC)转换为UTC时区,最后可以转换成Instant或者字符串。示例代码:LocalDateTime localDateTime = LocalDateTime.now(); ZonedDateTime utcDateTime = localDateTime.atZone(ZoneId.systemDefault()).withZoneSameInstant(ZoneOffset.UTC);

Q
Java 7及以下版本如何获取和格式化UTC时间?

我在用Java 7开发环境,没有java.time包,有什么办法获取UTC时间并格式化输出?

A

使用Calendar和SimpleDateFormat设置时区获取UTC时间

可以用Calendar获取系统时间,然后用SimpleDateFormat设置时区为UTC进行格式化。示例代码:SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'"); sdf.setTimeZone(TimeZone.getTimeZone("UTC")); String utcTime = sdf.format(new Date());