Java MYSQL时间戳,毫秒问题



我使用的是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()));
}

最新更新