将字符串转换为具有不同时间分量格式的即时信息

时间:2019-05-09 07:06:06

标签: java

我正在寻找一种方法,该方法采用一串日期时间并且可以返回Instant。字符串格式可以随以下不同的时间格式而变化,支持纳秒级到8位。由于这个原因,我无法使用固定的格式类型,因此当我提供以下内容无法确认时,我的toInstant错误出现了。满足以下所有不同日期时间格式的最佳方法是什么?

日期时间的格式可以采用不同的格式:

  • yyyy-MM-dd
  • yyyy-MM-dd HH
  • yyyy-MM-dd HH:mm
  • yyyy-MM-dd HH:mm:ss
  • yyyy-MM-dd HH:mm:ss.S
  • yyyy-MM-dd HH:mm:ss.SSSSSSSS
public static Instant toInstant(final String timeStr){
    final DateTimeFormatter formatter = DateTimeFormatter
        .ofPattern("yyyy-MM-dd HH:mm:ss")
        .withZone(ZoneId.of("UTC"));
    return Instant.from(formatter.parse(timeStr));
}

0 个答案:

没有答案