Java8获取世界标准时

Java8 获取世界标准时,UTC协调世界时

Java8 获取世界标准时

public static String getSystemUTCTime(){
    LocalDateTime now = LocalDateTime.now(Clock.systemUTC());
    DateTimeFormatter pattern = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
    return pattern.format(now);
}

在某些情况下,由于时区不同,时间会有相差,为此我们可以获取世界标准时,然后再根据当前所在时区,加减小时数,即可得到当前所在时区的时间。
例如,北京属东八区,与世界标准时相差8个小时,世界标准 +8 即可得到北京时间。

获取带时区的时间

企业级开发中,我们需要获取本地时间可以使用LocalDateTime,获取带时区的时间可以使用ZonedDateTime

@Test
public void test_zoned_time() {
    String format = "yyyy-MM-dd'T'HH:mm:ss.SSSZ";
    ZonedDateTime zonedDateTime = ZonedDateTime.now();
    DateTimeFormatter formatter = DateTimeFormatter.ofPattern(format);
    System.out.println(formatter.format(zonedDateTime));

    //切换时区
    ZonedDateTime zoneSameInstant = zonedDateTime.withZoneSameInstant(ZoneId.of("America/Cayenne"));
    System.out.println(zonedDateTime);
    System.out.println(zoneSameInstant);
}
posted @ 2020-05-03 22:25  crazy-zz5536  阅读(1168)  评论(0编辑  收藏  举报