Java8 日期时间新API - 时区

package com.xbb.java.time;

import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.ZonedDateTime;

/**
 * Java8加入了对区的处理.带时区的时间分别为:
 *  ZonedDate , ZonedTime , ZonedDateTime
 * 其中每个时区都对应着ID,地区ID都为 "{区域/城市}"的格式;
 * 如: Asia/ShangHai
 * ZoneId : 该类中包含了所有的时区信息
 * getAvailableZonedIds():可以获取所有时区信息
 * of(id) : 用指定的时区信息获取ZonedId对象
 */
public class Zone_Demo {
    public static void main(String[] args) {
        demo1();
        demo2();
    }

    /**
     * 获取所有时区
     */
    public static void demo1(){
        ZoneId.getAvailableZoneIds().stream().forEach(System.out::println);
    }

    /**
     * 获取亚洲/上海 时区的时间
     */
    public static void demo2(){
        // 第一种方式:直接指定时区
        LocalDateTime localDateTime = LocalDateTime.now(ZoneId.of("Asia/Shanghai"));
        System.out.println(localDateTime);

        // 第二种方式:先获取本初子午线时间再转成指定时区的日期
        LocalDateTime localDateTime1 = LocalDateTime.now();
        ZonedDateTime localDateTime2 = localDateTime1.atZone(ZoneId.of("Asia/Shanghai"));
        System.out.println(localDateTime2);
    }
}

你可能感兴趣的:(java)