
java如何获取utc时间
用户关注问题
我想在Java程序里获取当前的UTC时间,应该使用哪些类或方法?
使用Java 8及以上版本获取UTC时间的方法
可以使用Java 8引入的java.time包,调用Instant.now()获取当前UTC时间,Instant类表示的是UTC时间点。示例代码:Instant utcNow = Instant.now();
如果已经有了Java中的本地时间(LocalDateTime),怎么转换成对应的UTC时间?
通过时区转换实现本地时间转UTC时间
先将LocalDateTime与系统默认时区结合成ZonedDateTime对象,然后调用withZoneSameInstant(ZoneOffset.UTC)转换为UTC时区,最后可以转换成Instant或者字符串。示例代码:LocalDateTime localDateTime = LocalDateTime.now(); ZonedDateTime utcDateTime = localDateTime.atZone(ZoneId.systemDefault()).withZoneSameInstant(ZoneOffset.UTC);
我在用Java 7开发环境,没有java.time包,有什么办法获取UTC时间并格式化输出?
使用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());