gpt4 book ai didi

java - 如何将日期格式转换为mysql日期格式?

转载 作者:行者123 更新时间:2023-11-29 04:21:55 26 4
gpt4 key购买 nike

我有一堆日期,格式如 Jan. 14,2014,四月。 20,2014,八月。 14,2014 等。它们是从一组 PDF 文档中提取的。

我的问题
我使用 java(通过 PreparedStatement)将上述日期添加到列数据类型为日期的 mysql 列中。

....
st.SetDate(3,"Jan. 14,2014");
....

我使用 ExecuteQuery 添加了数据。

但是当程序执行时 MySql 返回一个错误消息,指出日期格式与 MySql 列类型不兼容)Date..

我的问题
如何将上述日期格式转换为 mysql 兼容的日期格式?

最佳答案

通过您当前发布的代码:

st.SetDate(3,"Jan. 14,2014");

这甚至无法编译。您可以尝试从 String 获取新的 Date 对象(因为这是您要完成的),因此请使用 SimpleDateFormat为此:

SimpleDateFormat sdf = new SimpleDateFormat("MMM. dd,yyyy");
Date date = sdf.parse("Jan. 14,2014");
st.setDate(3, new java.sql.Date(date.getTime()));
//rest of your code...

与此类似,您可以使用 SimpleDateFormat 将时间或日期和时间解析为 java.util.Date,然后将其转换为相应的类 java .sql.Timejava.sql.Timestamp 使用 date.getTime()

另请注意,您可以 p̶a̶s̶s̶ 检索 java.util.Date 对象引用 PreparedStatement#getDate(以及 getTime getTimestamp) 因为 java.sql.Datejava.sql.Timejava.sql.Timestamp 扩展自 java.util.Date。更多信息,请引用这里:Date vs TimeStamp vs calendar?

关于java - 如何将日期格式转换为mysql日期格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21508417/

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