我使用的是MySQL,列类型为TimeStamp。我无法存储或检索毫秒。
请帮忙吗?谢谢
public static Date getBeginAndEndTime(String time) {
DateTimeFormatter format = DateTimeFormatter.ofPattern("HHmmssSSS");
LocalTime lt = LocalTime.parse(time, format);
return Timestamp.valueOf(lt.atDate(LocalDate.now()));
}
例如:时间值按原样出现";140833222";当我存储在数据库中时;2020-08-26 14:08:33";缺少最后几毫秒";222";。
我需要存储和检索包括毫秒。
您应该使用数据类型BIGINT
,因为它允许您存储8个字节。DATE
字段通常用于Date和DateTime实现,如LocalDateTime。由于您使用的是LocalDate,然后是LocalTime,因此最好只使用DATE
类型。你的方法有效地变成;
public static Date getBeginAndEndTime(String time) {
// cache this, it's a thread-safe object
DateTimeFormatter format = DateTimeFormatter.ofPattern("HHmmssSSS");
return LocalTime.parse(time, format).atDate(LocalDate.now()));
}