Sql时间戳到Java日期?

我有一个数据库,它将具有标准sql格式的UMT时间戳。 如何获取该数据并使用它设置java日期对象?

据我所知mysql是yyyy-mm-dd hh:mm:ss至于java,日期/时间的东西总是让我不知所措。

如果有人知道一个好的图书馆,我愿意接受建议。

为什么不直接将其读作Date

 Date date = resultSet.getTimestamp("date_field"); Timestamp timestamp = resultSet.getTimestamp("date_time_field"); 

看到

  • ResultSet.getTimeStamp()

Timestamp是Date的子类,这意味着它可以在Date所在的任何地方使用。 唯一的区别是,Timestamp比Date更精确(由于SQL规范)。

只需使用:

 Timestamp t = resultSet.getTimestamp("columnname"); Date d = t; 

话虽如此,将JDBC返回的时间戳转换为正确的Date值有一些好处,省略了纳秒。 当您在应用程序的某个远程部分比较时间戳和日期时,时间戳和日期将不相等,即使它们似乎是“粗糙”的同一时间值。 因此,如果这可能导致问题,请仅使用Timestamp返回的.getTime()值创建一个新的Date实例。

在我的博客中有更多相关内容: 使用Hibernate时的时间戳和日期相等

(即使博客条目是关于Hibernate,它也适用于您的情况)