Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java日期的Sql时间戳?_Java_Mysql_Date_Jdbc - Fatal编程技术网

Java日期的Sql时间戳?

Java日期的Sql时间戳?,java,mysql,date,jdbc,Java,Mysql,Date,Jdbc,我有一个数据库,它将有标准sql格式的UMT时间戳。如何提取该数据并使用它设置java日期对象 据我所知,mysql是yyyy-mm-dd hh:mm:ss至于java,日期/时间的东西总是让我摸不着头脑 如果有人知道这方面有一个很好的库,我愿意接受建议。为什么不直接读作Date Date date = resultSet.getTimestamp("date_field"); Timestamp timestamp = resultSet.getTimestamp("date_time_fi

我有一个数据库,它将有标准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");


为什么不直接把它读作日期

Date date = resultSet.getTimestamp("date_field");

Timestamp timestamp = resultSet.getTimestamp("date_time_field");


时间戳是日期的一个子类,这意味着它在日期所在的任何地方都可用。唯一的区别是,时间戳比日期更精确(由于SQL规范)

只需使用:

Timestamp t = resultSet.getTimestamp("columnname");
Date d = t;
话虽如此,将JDBC返回的时间戳转换为适当的日期值(省去纳秒)有一些好处。当您在应用程序的某个远程部分比较时间戳和日期时,时间戳和日期将不相等,即使它们看起来“几乎”是相同的时间值。所以,如果这可能导致问题,请仅使用Timestamp返回的.getTime()值创建一个新的日期实例)

更多关于这方面的信息,请访问我的博客:


(尽管这篇博文是关于Hibernate的,但它也适用于您的情况)

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

只需使用:

Timestamp t = resultSet.getTimestamp("columnname");
Date d = t;
话虽如此,将JDBC返回的时间戳转换为适当的日期值(省去纳秒)有一些好处。当您在应用程序的某个远程部分比较时间戳和日期时,时间戳和日期将不相等,即使它们看起来“几乎”是相同的时间值。所以,如果这可能导致问题,请仅使用Timestamp返回的.getTime()值创建一个新的日期实例)

更多关于这方面的信息,请访问我的博客:

(尽管该博客文章是关于Hibernate的,但它也适用于您的情况)

与其他java.util.Date实例相比,使用它是不安全的,因为这些实例下面实际上不是java.sql.Timestamp。新的java.util.Date应该由java.sql.Timestamp的长值生成,与下面实际上不是java.sql.Timestamp的其他java.util.Date实例相比,该值使用起来不安全。应根据java.sql.Timestamp的长值创建一个新的java.util.Date