java8 Instant 时间及转换操作

 更新时间:2020年09月17日 11:00:38   作者:stay hungry,stay you  
这篇文章主要介绍了java8 Instant 时间及转换操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

一、获取当前时区时间:

Instant.now().atZone(ZoneId.systemDefault())

二、创建Instant实例

Instant now = Instant.now();

System.out.println(“now:”+now);

控制台输出:

now:2018-07-09T08:59:08.853Z

注意:通过这种方式获取的时间戳与北京时间相差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:2018-07-09T16:58:48.188Z

三、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

补充知识:jdk8中奖Date转换为String格式的方法

我就废话不多说了,大家还是直接看代码吧~

public static String getLocalDateStr(Date date,String formatter) {
	   
     DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern(formatter);     
     Instant instant = date.toInstant();
     ZoneId zoneId = ZoneId.systemDefault();
     LocalDateTime localDateTime = LocalDateTime.ofInstant(instant, zoneId);   
     String dateStr = dateTimeFormatter.format(localDateTime);   	   
	   return dateStr;
   }

以上这篇java8 Instant 时间及转换操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Java实现Json字符串与Object对象相互转换的方式总结

    Java实现Json字符串与Object对象相互转换的方式总结

    这篇文章主要介绍了Java实现Json字符串与Object对象相互转换的方式,结合实例形式总结分析了java基于Json-Lib、Org.Json、Jackson、Gson、FastJson五种方式转换json类型相关操作技巧,需要的朋友可以参考下
    2019-03-03
  • SpringBoot自定义starter启动器的实现思路

    SpringBoot自定义starter启动器的实现思路

    这篇文章主要介绍了SpringBoot如何自定义starter启动器,通过starter的自定义过程,能够加深大家对SpringBoot自动配置原理的理解,需要的朋友可以参考下
    2022-10-10
  • SpringBoot 内置工具类的使用

    SpringBoot 内置工具类的使用

    本文主要介绍了SpringBoot 内置工具类的使用,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-12-12
  • Mybatis插入数据后自增id获取方式

    Mybatis插入数据后自增id获取方式

    在MyBatis中,获取自增主键可以通过useGeneratedKeys属性或selectKey节点实现,useGeneratedKeys设置时,需设置keyProperty指定主键字段,数据库表也要相应设置,selectKey节点可在插入操作后,通过特定SQL查询获得主键
    2024-09-09
  • 利用Jackson实现数据脱敏的示例详解

    利用Jackson实现数据脱敏的示例详解

    在我们的企业项目中,为了保护用户隐私,数据脱敏成了必不可少的操作,那么我们怎么优雅的利用Jackson实现数据脱敏呢,本文就来和大家详细聊聊,希望对大家有所帮助
    2023-05-05
  • Spring boot事务无效报错:Transaction not enabled问题排查解决

    Spring boot事务无效报错:Transaction not enabled问题排查解决

    在业务代码中经常需要保证事务的原子性,但是有的时候确实是出现事务没有生效,这篇文章主要给大家介绍了关于Spring boot事务无效报错:Transaction not enabled问题排查的相关资料,需要的朋友可以参考下
    2023-11-11
  • Java 正则表达式详细使用

    Java 正则表达式详细使用

    这篇文章主要介绍了Java 正则表达式详细使用,非常不错,具有参考借鉴价值,需要的朋友参考下吧
    2017-10-10
  • 秒懂Java枚举类型(enum)

    秒懂Java枚举类型(enum)

    这篇文章主要介绍了秒懂Java枚举类型(enum),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-12-12
  • java基础之 Arrays.toString()方法详解

    java基础之 Arrays.toString()方法详解

    这篇文章主要介绍了java基础之 Arrays.toString()方法详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-02-02
  • 解决Springboot2.1.x配置Activiti7单独数据源问题

    解决Springboot2.1.x配置Activiti7单独数据源问题

    这篇文章主要介绍了Springboot2.1.x配置Activiti7单独数据源问题,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-09-09

最新评论