我正在寻找一种方法,该方法采用一串日期时间并且可以返回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));
}