真诚与朴实是天才的宝贵品质。——斯坦尼斯拉夫斯基
System.out.println("下面的是两个默认时区的LocalDateTime"); final LocalDateTime localDateTime = LocalDateTime.ofInstant(new Date().toInstant(), ZoneId.systemDefault()); final LocalDateTime localDateTime1 = LocalDateTime.now(); System.out.println(localDateTime); System.out.println(localDateTime1); System.out.println("下面的是两个通过Date.from()拿到的默认时区的Date"); // 这里需要使用ZonedDateTime final Date from = Date.from(Instant.from(ZonedDateTime.now())); // 这里需要使用OffsetDateTime final Date from1 = Date.from(localDateTime1.toInstant(OffsetDateTime.now().getOffset())); System.out.println(from); System.out.println(from1); System.out.println("下面的是通过LocalDateTime.ofInstant()拿到的不同时区的LocalDateTime"); // 国际标准时间 final LocalDateTime localDateTime2 = LocalDateTime.ofInstant(Instant.from(LocalDateTime.now().toInstant(ZoneOffset.UTC)), ZoneId.systemDefault()); // 自定义偏移时区 东8区(北京时区) 支持 +h, +hh, +hhmm, +hh:mm, +hhmmss, +hh:mm:ss final LocalDateTime localDateTime3 = LocalDateTime.ofInstant(Instant.from(LocalDateTime.now().toInstant(ZoneOffset.of("+08:00"))), ZoneId.systemDefault()); System.out.println(localDateTime2); System.out.println(localDateTime3); System.out.println("下面的是通过Date.from()拿到的不同时区的date"); // 国际标准时间 final Date from2 = Date.from(Instant.from(LocalDateTime.now().toInstant(ZoneOffset.UTC))); // 最小时区 final Date from3 = Date.from(Instant.from(LocalDateTime.now().toInstant(ZoneOffset.MIN))); // 最大时区 final Date from4 = Date.from(Instant.from(LocalDateTime.now().toInstant(ZoneOffset.MAX))); // 自定义偏移时区 东8区(北京时区) 支持 +h, +hh, +hhmm, +hh:mm, +hhmmss, +hh:mm:ss final Date from5 = Date.from(Instant.from(LocalDateTime.now().toInstant(ZoneOffset.of("+8")))); System.out.println(from2); System.out.println(from3); System.out.println(from4); System.out.println(from5);