如何使用Java中的gettimestamp()从数据库获取相同格式的日期和时间

时间:2010-12-08 12:52:05

标签: java

在我的数据库中,我将值设置为9/28/2010 11:30:00 PM

现在我正在使用dataResultSet.getTimestamp(3),它给我的值为2010-09-28 23:30:00.0。我希望我的结果与数据库值的结果相同。我希望时间为11:30

有什么办法可以解决这个问题?谁能帮我这个?

先谢谢。

4 个答案:

答案 0 :(得分:2)

实际上,我怀疑在您的数据库中,该值设置为1285716600。您可能的意思是您的数据库客户端 显示此值为“9/28/2010 11:30:00 PM”。

这完全是格式化的问题 - 日期代表特定的时刻,而不是字符串。相反,有多种潜在的方法将转换一个Date转换为它的String表示形式。特别要注意的是,您没有从数据库中获取任何特定格式的日期;它作为日期到达,由来格式化它。

您如何将此日期转换为字符串?如果您想要特定的输出样式,则应使用SimpleDateFormat类(或等效类)。

答案 1 :(得分:2)

您生成的Timestamp 与数据库值相同。不同之处在于它们的显示方式,但这与价值本身无关。在数据库中,它取决于设置(例如Oracle中的NLS设置)。在Java中,它取决于用于格式化输出日期的DateFormat。如果未明确使用,则默认值取决于系统区域设置。

答案 2 :(得分:1)

使用SimpleDateFormatDate对象转换为您需要的字符串。

答案 3 :(得分:0)

如果你的问题只是String表示,你可以使用:

// date is of type java.util.Date
String dateStr = new SimpleDateFormat("d/M/yyyy hh:mm:ss a").format(date);

祝你好运。