【发布时间】:2015-01-12 07:43:15
【问题描述】:
在 Java 中使用 UCanAccess 驱动程序时,我发现将日期输出为特定格式非常困难。目前,我正在使用 PreparedStatement.setDate() 方法,该方法要求日期格式为 [yyyy-MM-dd HH:mm:ss]。当用户打开文件时,结果输出也是这种格式。
EDIT* - 我没有使用带有格式化日期的 setDate() 方法,这个方法只接受没有格式化的 Java Date 对象。我的意思是在处理格式化日期时使用 setString() 方法,但 UCanAccess 要求此日期字符串的格式为 [yyyy-MM-dd HH:mm:ss]。我真的只是想弄清楚如何在调用 setString() 后为其提供不同的格式或更改格式。
到目前为止,这一切都很好,但现在我需要以各种格式(例如 [MM-dd])提供带有日期的文件。我已经可以通过将生成的 Access 字段类型设置为备注或文本来做到这一点,但是当我需要将日期设为该格式并且仍然将生成的 Access 字段类型为日期/时间时,问题就出现了。
我注意到UCanAccess front page,它提到了支持访问日期格式,但经过几次 Google 搜索后,我在任何地方都找不到任何示例。任何人都知道如何使用此驱动程序格式化日期,同时保持正确的日期/时间类型?
提前致谢!
【问题讨论】:
-
PreparedStatement.setDate()需要一个没有格式的java.sql.Date参数(也不能用于“输出”) -
你是最正确的@a_horse_with_no_name,我在使用 Java 日期时使用 setDate() 方法(只是很长,没有格式化),然后在设置带格式的日期时使用 setString() 方法.这需要格式 [yyyy-MM-dd HH:mm:ss]。我试图做到这一点,以便我可以在调用 setString() 后提供任何格式或以编程方式更改格式
-
不要使用
setString()作为日期。使用setDate()。日期的格式应该在显示(=读取)前端中的数据时处理,而不是在保存时处理。 -
嗯,这里的问题是我得到了字符串格式的格式化日期,我需要稍微打开格式以允许其他样式。此外,我想提供一个“完成”的 Access 文件,其中日期以所需的方式格式化,而不必打开文件并手动进行更改。
标签: java datetime ms-access jdbc ucanaccess