如何使用java从数据库中检索日期

时间:2013-03-05 00:55:18

标签: java sql datetime

我需要从数据库中检索日期和时间。我的代码正确地检索了日期和时间,但是当我使用toString()时,它会在时间结束时添加“.0”。我怎么能避免这个?

IE:数据库上的日期为2013-03-05 11:05:25

当我检索它并尝试将其转换为String时,它变为2013-03-05 11:05:25.0

 r.getTimestamp("mydate").toString();

3 个答案:

答案 0 :(得分:2)

不要将数据库上的值视为 string 值。想想它是一个时间点。 (我假设它真的 是一个TIMESTAMP字段或类似的东西。)

如果您想以特定方式对其进行格式化,请执行此操作 - 但2013-03-05 11:05:25与时间点相同为2013-03-05 11:05 :25.0 ......它只是使用不同的字符串表示。

答案 1 :(得分:2)

使用SimpleDateFormat以您想要的任何方式显示日期

String output = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(r.getTimestamp("mydate"));

这应该显示你的追求。

修改

您说过您的方法没有将对象作为时间戳或日期返回,您需要先将其置于日期格式中才能使用SimpleDateFormat

DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
String in = r.getTimestamp("mydate"));
Date d = sdf.parse(in);

答案 2 :(得分:1)

如果你想真正删除“.0”,你可以这样做。其中“s”是带有额外2个字符的字符串对象。

s = s.substring(0, s.length() - 2);