我需要从数据库中检索日期和时间。我的代码正确地检索了日期和时间,但是当我使用toString()
它时,它会在时间的末尾添加一个“.0”。我怎样才能避免这种情况?
IE:数据库上的日期是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);
如果您想实际删除“.0”,您可以这样做。其中“s”是带有额外 2 个字符的字符串对象。
s = s.substring(0, s.length() - 2);