16. Java8-日期API-ZonedDateTime

x33g5p2x  于2021-12-18 转载在 其他  
字(0.9k)|赞(0)|评价(0)|浏览(254)

ZonedDateTime 是java8 中包含时区的时间类.

import org.junit.Test;

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

/** * @Description: 除了包含时区信息之外, 和LocalDateTime API 基本无异 * @author: zongf * @date: 2018-06-30 11:33 */
public class TestZone {

    // 获取所有的ZoneId
    @Test
    public void test_allZoneIds(){
        System.out.println("java8 支持的所有ZoneId:");
        ZoneId.getAvailableZoneIds().forEach(System.out::println);
    }

    @Test
    public void test_ZoneDate(){
        String zoneName = "US/Pacific";

        // 获取当前时区的当前时间,时间格式: yyyy-MM-ddTHH:mm:ss.SSS时区差[zoneName]
        // 2018-06-30T11:42:03.868+08:00[Asia/Shanghai]
        System.out.println(ZonedDateTime.now());

        // 获取指定时区的当前时间
        System.out.println(ZonedDateTime.now(ZoneId.of(zoneName)));

        // 获取指定时区的指定时间
        System.out.println(ZonedDateTime.of(LocalDateTime.now(), ZoneId.of(zoneName)));

        // 从字符解析,默认格式:yyyy-MM-ddTHH:mm:ss.SSS时区差[zoneName]
        System.out.println(ZonedDateTime.parse("2018-06-30T11:42:03.868+08:00[Asia/Shanghai]"));
    }

}

相关文章