我正在尝试保存LocalDateTime
到数据库。所以我的情况是我有消费者和生产者。生产者生成一些代码并将其提供给消费者,消费者将条目保存到数据库中。
生产者端代码
LocalDate.now().toString() // returns 2021-07-13T12:25:38.841775700 sometimes it returns 2021-07-13T12:25:38.841 so basically after the last decimal point the precision can be anything.
消费者方面的代码
在消费者方面,我想将从生产者收到的条目保存到数据库中,因为我需要将 str 转换为 LocalDateDime。
private static DateTimeFormatter timeFormatterInMs= DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSS");
public static LocalDateTime unmarshalDateTime(final String dateTimeStr) {
return dateTimeStr == null ? null : LocalDateTime.parse(str, timeFormatterInMs);
}
这里的问题是 LocalDateTime 的返回类型的格式是什么
我知道它返回格式yyyy-MM-dd'T'HH:mm:ss.SSS
的数据,在我们的例子中,ms 有时有 9 位,有时有 6 位小数?如果我将此字符串提供给函数 unmarshalDateTime(..),则该函数将中断并且无法正常工作。因为它期望 ms 部分为小数点后 3 位。该怎么办