【发布时间】:2014-01-14 00:46:06
【问题描述】:
这与Default JDBC date format when reading date as a string from ResultSet 完全相同,但从未真正回答过这个问题;人们只是提供了编写代码的替代方法。
我特意询问是否有人知道默认转换格式是在哪里指定的,以及它是由某个地方的 JDBC 规范定义的,还是由单独的 JDBC 驱动程序定义的。如果是后者,那么还有一个问题,Oracle 10g JDBC 是如何做到这一点的?
** 添加到 1 月 15 日:
抱歉,我认为这个问题已经足够清楚了,但显然不是。我不是试图从数据库中检索日期值,也不需要关于如何做到这一点的建议。
我不认为这是引用问题的重复,这就是为什么我在这里提出一个单独的问题。虽然标题几乎相同,但引用的问题(无论 OP 的意图如何)已经用从数据库中检索日期值的替代方法得到了回答,这不是我想知道的。
干杯,
【问题讨论】:
-
为什么需要将日期读取为字符串?你想稍后进行任何计算吗?比如比较、子串等。
-
您可能错过了另一个问题的答案要点……关键是您的问题没有意义。您应该通过
getDate方法请求 java.sql.Date 对象,而不是请求字符串。 JDBC 驱动程序的真正目的是在数据库引擎和 Java 应用程序之间进行调解,将本地定义的值转换为常见的 Java 对象。对于日期时间值,每个 JDBC 驱动程序的工作是为您提供 java.sql.Date 对象。从那里你可以创建任何你想要的字符串渲染。 -
@Basil,谢谢你,但我觉得可能是你没有抓住重点,并且可能对我想要达到的目标做出了无效的假设。这个问题很有意义:某处有一些将数据库日期值转换为字符串的代码;我只是想知道它是如何确定使用哪种格式的,仅此而已。
-
不是你想听到的,但似乎应该有一个指向stackoverflow.com/q/19840542/217324的链接