我需要从数据库中检索日期和时间。我的代码正确地检索日期和时间,但当我使用toString()
时,它添加了一个"。0"到时间的尽头。我怎样才能避免这种情况呢?
IE: date on database is 2013-03-05 11:05:25
当我检索它并尝试将其转换为字符串时,它变成2013-03-05 11:05:25.0
r.getTimestamp("mydate").toString();
不要认为数据库上的值是一个字符串值。把它想象成一个时间点。(我假设它真的是一个TIMESTAMP
字段或类似的东西。)
如果你想以一种特殊的方式格式化它,这样做-但是2013-03-05 11:05:25是与2013-03-05 11:05:25.0相同的时间点…它只是使用了不同的字符串表示
使用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);
如果你想实际删除"。你可以这样做。其中"s"是字符串对象加上额外的2个字符。
s = s.substring(0, s.length() - 2);