【发布时间】:2012-01-04 18:45:34
【问题描述】:
我需要从 Date 对象中删除时间。这是我的尝试,
代码:
System.out.println("date " + dbDate);
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
System.out.println("formatter.format(dbDate) " + formatter.format(dbDate));
System.out.println("final " + formatter.parse(formatter.format(dbDate)));
输出:
date 2011-12-03 23:59:59.0
formatter.format(dbDate) 2011-12-03
final Sat Dec 03 00:00:00 IST 2011
我想在2011-12-03 中显示最后的日期。但转换后toString() 的Date 格式不同。我错过了一些东西。请帮忙。
更新:
在我的应用程序中,我有两种不同的方法来获取dbDate。 EXPIRY_DATE 列的类型为 DATE。
第一个查询使用dbDate = (java.util.Date) rs.getDate("EXPIRY_DATE");。
对于这个dbDate,System.out.println("date " + dbDate); 给出date 2011-12-03
第二次查询使用dbDate = rs.getTimestamp("EXPIRY_DATE");
对于这个dbDate,System.out.println("date " + dbDate); 给出date 2011-12-03 23:59:59.0。
这是我的问题。因为我认为toString() 有问题,所以我没有提到完整的问题。
解决方案:
我没有选择避免java.sql.Date,因为我的应用程序方法有多种用途。
我尝试了以下方法并成功了,
dbDate = new java.sql.Date(dbDate.getTime());
【问题讨论】:
-
我不得不使用 java.sql.Timestamp 来获取时间。感谢您提供解决方案。
标签: java date jdbc simpledateformat