java8时间操作案例

文章介绍了一种使用ZonedDateTime类进行时间处理的方法,它可以应对不同格式的时间字符串,并支持时区转换。通过示例代码展示了如何将时间字符串解析为ZonedDateTime对象,进行时区调整,转换为LocalDateTime,然后再转回带时区的时间,最后得到Unix时间戳。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

工作中总有一些时间操作的场景,比如传入报文的时间格式化,一般情况下会使用SimpleDateFormat,但是有个弊端,当时间字符串格式不相同时,就需要创建不同的格式化的代码,烦不胜烦,终于,找到一个万能代码,不管什么格式的时间传入,都可以进行格式化,并且支持时区转换。下面时代码。代码中的时间字符串只是一个案例,可以用不同的时间字符串测试。

		ZonedDateTime zdt = ZonedDateTime.parse("2023-04-08T09:32:08Z");
        System.out.println(zdt);
        ZonedDateTime zdt1 = zdt.withZoneSameInstant(ZoneId.of("Asia/Shanghai"));
        System.out.println(zdt1);
        LocalDateTime ldt = zdt1.toLocalDateTime();
        System.out.println(ldt);
        ZonedDateTime zonedDateTime = ldt.atZone(ZoneId.of("Asia/Shanghai"));
        System.out.println(zonedDateTime);
        Instant instant = zonedDateTime.toInstant();
        System.out.println(instant);
        long l = instant.toEpochMilli();
        System.out.println(l);
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值