instant java8,我爱java系列---【java8时间类Instant】

一、创建Instant实例

Instant now = Instant.now();

System.out.println("now:"+now);

控制台输出:

now:2020-08-31T18:53:38.105Z

注意:通过这种方式获取的时间戳与北京时间相差8个时区,需要修正为北京时间,通过查看源代码发现Instant.now()使用等是UTC时间Clock.systemUTC().instant()。LocalDate、LocalDateTime 的now()方法使用的是系统默认时区 不存在Instant.now()的时间问题。

解决方法:

增加8个小时

Instant now = Instant.now().plusMillis(TimeUnit.HOURS.toMillis(8));

System.out.println("now:"+now);

控制台输出:

now:2020-09-01T2:53:38.105Z

二、Instant获取long类型的10位秒数、13位毫秒数

Instant now = Instant.now().plusMillis(TimeUnit.HOURS.toMillis(8));

System.out.println("秒数:"+now.getEpochSecond());

System.out.println("毫秒数:"+now.toEpochMilli());

控制台输出:

秒数:1539170157

毫秒数:1539170157886

LocalDateTime输出毫秒数的方式,比Instant多一步转换

LocalDateTime localDateTime = LocalDateTime.now();

//LocalDateTime转Instant

Instant localDateTime2Instant = localDateTime.atZone(ZoneId.systemDefault()).toInstant();

System.out.println("LocalDateTime 毫秒数:"+localDateTime2Instant.toEpochMilli());

控制台输出:

LocalDateTime 毫秒数:1539141733010

标签:java,System,---,毫秒,LocalDateTime,Instant,now,out

来源: https://www.cnblogs.com/hujunwei/p/13594007.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值