Java8新特性-018-时区处理

时区的处理

  • Java8 中加入了对时区的支持,带时区的时间为分别为:ZonedDate、ZonedTime、ZonedDateTime。其中每个时区都对应着 ID,地区ID都为 “{区域}/{城市}”的格式。
  • 例如 :Asia/Shanghai 等
  • ZoneId:该类中包含了所有的时区信息
  • getAvailableZoneIds() : 可以获取所有时区时区信息
  • of(id) : 用指定的时区信息获取 ZoneId 对象

测试代码

ZoneTest.java

package java8.zone;

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

import org.junit.Test;

public class ZoneTest {

    // 1.查看所有的可用时区
    @Test
    public void test1() {
        // 调用ZoneId类的getAvailableZoneIds
        Set<String> set = ZoneId.getAvailableZoneIds();

        set.forEach(System.out::println);
    }
    /*
     * 结果:
     * ……
     * Pacific/Guadalcanal
     * Europe/Athens
     * US/Pacific
     * Europe/Monaco
     */

    // 2.通过时区构建LocalDateTime
    @Test
    public void test2() {
        LocalDateTime now = LocalDateTime.now(ZoneId.of("America/Louisville"));

        System.out.println(now);
    }
    /*
     * 结果: 
     * 2018-01-21T23:15:27.902
     */

    // 3.以时区格式显示时间
    @Test
    public void test3() {
        LocalDateTime ldt1 = LocalDateTime.now(ZoneId.of("Asia/Shanghai"));

        ZonedDateTime atZone = ldt1.atZone(ZoneId.of("Asia/Shanghai"));

        System.out.println(atZone);
    }
    /*
     * 结果:
     * 2018-01-22T12:15:20.131+08:00[Asia/Shanghai]
     */
}

微信公众号:JavaWeb架构师


其它

  • 源码下载
关注下方公众号,回复:Java8.code

完整教程PDF版本下载

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值