2021-01-19

Java8版本中时间类型的转换中遇到的小问题

java版本

问题

原“2021-01-12T16:30”(LocalDateTime)时间类型需要转换为“yyyy-MM-dd HH:mm:ss”类型

刚开始错误写法:

打算直接用SimpleDateFormat()方法来格式化本地代码的时间,但是

报出java.lang.IllegalArgumentException: Cannot format given Object as a Date错误

2021-01-19_第1张图片

解决代码:

2021-01-19_第2张图片

localDateTime.toInstant(ZoneOffset.ofHours(8)).toEpochMilli();

关健代码解释:

toInstant(ZoneOffset.ofHours(8))

使用java.time包中ZoneOffset类的ofHours(int)方法,以传递的小时数偏移量作为参数来获取ZoneOffset的实例。此方法将小时数作为int形式的参数并将其转换为ZoneOffset。支持的最大范围是从+18:00到-18:00(含)。

.toEpochMilli()

用于将此Instant转换为自1970-01-01T00:00:00Z以来的Java时期标准格式的毫秒数。

此时时间类型符合SimpleDateTime()转换类型。

你可能感兴趣的:(java,时间转换,java)