Java:resultSet.getTimestamp 丢失时间

标签 java mysql time resultset

我的数据库中有以下条目:

Start                   End
2013-08-25 14:23:20     2013-09-14 14:23:20

(类型为datetime,数据库为MySQL)

在我的 java 应用程序中,我想将此日期和时间设置为日历,如下所示:

java.sql.Timestamp timeStampStart = inResults.getTimestamp("start");
System.out.println("Start: " + timeStampStart);
Calendar start = new GregorianCalendar();
start.setTime(timeStampStart);

编辑:

在代码中添加了System.out.println:

Start: 2013-08-25 15:11:08.0
End: 2013-09-14 15:11:08.0 (same code as for start)

现在的问题是,当我调用 inResults.getTimestamp 时,时间丢失了。我得到了正确的日期,但时间是执行查询的时间而不是数据库中的时间。

有什么想法吗?

最佳答案

无参数构造函数

Constructs a default GregorianCalendar using the current time in the default time zone with the default locale.

您可以从时间戳创建 java.util.Date,然后从日期创建 getHours()、getMinutes() 和 getSeconds(),并在 Calendar 的构造函数中使用它。签名如下。

GregorianCalendar(int year, int month, int dayOfMonth, int hourOfDay, int minute, int second)

像这样:

    java.sql.Timestamp timeStampStart = inResults.getTimestamp("start"); 
    java.util.Date d = new java.util.Date(timeStampStart.getTime());
    Calendar start = new GregorianCalendar(d.getYear(), d.getMonth(), d.getDate(), d.getHours(), d.getMminutes(), d.getSeconds());

关于Java:resultSet.getTimestamp 丢失时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18614651/

相关文章:

java - 如何在 Java 中为子/嵌套对象编写 MongoDB 集合过滤器?

java - 谷歌数据流: PCollection<String> to PCollection<TableRow> for BigQuery insertion

java - 将 Joda 时间段和 LocalDate 放入一个包中?

java - Joda 时间无法正确解析月份

python - 如何在 python 中找到格式中两个时间之间的差异?

java - 我怎样才能告诉 java 为 http 请求使用特定的传出 ip 接口(interface)?

java - 类型不匹配 : cannot convert from element type Object to String

php - Mysql查询按字段分组并打印分组字段

MySQL select distinct with inner join 和where。创建什么索引?

python - 时间 while 循环 python