【发布时间】:2013-06-14 07:10:24
【问题描述】:
public static void main(String[] args) {
java.util.Date utilDate = new java.util.Date();
java.sql.Date sqlDate = new java.sql.Date(utilDate.getTime());
System.out.println("utilDate:" + utilDate);
System.out.println("sqlDate:" + sqlDate);
}
我使用这个代码部分并输出如下:
2013/06/14 12:06:11
2013-06-14
我想要包含日期和时间数据的输出。方法参数需要java.sql.Date格式。这就是为什么我必须转换或更改sqlDate 的格式。我该如何解决?
注意
PreparedStatement insertStmt=null;
insertStmt.setDate(parIndex, java.sql.Date);
这就是我想要 java.sql.Date 格式的原因
【问题讨论】:
-
试试
DateFormat.getDateTimeFormat().format(sqlDate),看看你会得到什么 -
这不应该是您的代码的输出。 java.util.Date.toString() 以不同的方式格式化日期。
-
您已经有一个
Date,可以使用SimpleDateFormat进行格式化,您可以从中构建您的SQL 日期;出于好奇,您为什么还要格式化您的 SQL 日期?不信任new java.sql.Date()? -
java.sql.Date(long)构造函数将时间组件设置为零 GMT。将其格式化为java.util.Date会产生误导。见docs.oracle.com/javase/7/docs/api/java/sql/Date.html#Date(long)。 -
您需要了解这两种数据类型的基础知识。请参阅:java.util.Date vs java.sql.Date。
标签: java date formatting