0

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

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

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

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

3 回答 3

3

根本不要将数据库上的值视为字符串值。把它想象成一个时间点。(我假设它确实一个TIMESTAMP领域或类似的东西。)

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

于 2013-03-05T00:57:28.643 回答
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);
于 2013-03-05T01:42:25.690 回答
1

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

s = s.substring(0, s.length() - 2);
于 2013-03-05T01:01:46.693 回答