gpt4 book ai didi

java - 如何将时间从 java.util.Date 存储到 java.sql.Date

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:13:01 25 4
gpt4 key购买 nike

我想将 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);

当前输出:

2011-02-10

期望的输出:

2011-02-10 12:05:34

最佳答案

java.sql.Date类型仅用于存储日期(无时间)信息,因为它映射到不存储时间的 SQL DATE 类型。这是什么toString()方法是:

Formats a date in the date escape format yyyy-mm-dd.

要获得所需的输出,您可以使用 java.sql.Timestamp ,它存储日期 时间信息,映射到 SQL TIMESTAMP 类型。它的toString()方法输出你需要的:

Formats a timestamp in JDBC timestamp escape format: yyyy-mm-dd hh:mm:ss.fffffffff, where ffffffffff indicates nanoseconds.

例子:

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"

关于java - 如何将时间从 java.util.Date 存储到 java.sql.Date,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29392755/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com