我想转换java.util.Date
为java.sql.Date
但我想要小时,分钟和秒,但java.sql.Date只能用于存储日期(没有时间).我尝试了下面的代码,但它只给出了java.sql.Date
对象的年,月和日.
SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmss");
Date parsed = format.parse("20110210120534");
System.out.println(format.parse("20110210120534"));
java.sql.Date sql = new java.sql.Date(parsed.getTime());
System.out.println("SQL date is= "+sql);
Run Code Online (Sandbox Code Playgroud)
当前输出:
2011-02-10
Run Code Online (Sandbox Code Playgroud)
期望的输出:
2011-02-10 12:05:34
Run Code Online (Sandbox Code Playgroud)
eri*_*cbn 11
该java.sql.Date
类型用于仅存储日期(无时间)信息,因为它映射到SQL DATE
类型,而不会存储时间.它的toString()
方法是做什么的:
以日期转义格式yyyy-mm-dd格式化日期.
要实现所需的输出,您可以使用java.sql.Timestamp
它来存储日期和时间信息,映射到SQL TIMESTAMP
类型.它的toString()
方法输出你需要的东西:
以JDBC时间戳转义格式格式化时间戳:yyyy-mm-dd hh:mm:ss.fffffffff,其中ffffffffff表示纳秒.
例:
java.text.DateFormat format = new java.text.SimpleDateFormat("yyyyMMddHHmmss");
java.util.Date date = format.parse("20110210120534");
java.sql.Timestamp timestamp = new java.sql.Timestamp(date.getTime());
System.out.println(timestamp); // prints "2011-02-10 12:05:34.0"
Run Code Online (Sandbox Code Playgroud)
正如其他人所说,您需要使用 java.sql.TimeStamp。
public class Test {
public static void main(String[] args) {
java.util.Date date = new java.util.Date();
java.sql.Timestamp sqlTimeStamp = new java.sql.Timestamp(date.getTime());
System.out.println("util-date:" + date);
System.out.println("sql-timestamp:" + sqlTimeStamp );
}
}
Run Code Online (Sandbox Code Playgroud)
http://tutorials.jenkov.com/java-date-time/java-sql-date.html
归档时间: |
|
查看次数: |
29310 次 |
最近记录: |