用java读取mysql中的timestamp数据发现多了一个".0"在后面,怎么回事?

来源:百度知道 编辑:UC知道 时间:2024/06/29 01:16:05
环境如下:winxp+jdk1.4.2+mysql5.0.13+mysql-connector-java-5.0.12:
在Mysql中查询时间能够正确显示,如:'2008-04-26 13:33:26',但是用java通过ResultSet.getString()读取出来之后就成了'2008-04-26 13:33:26.0'了,多了一个尾巴在后面,我看到网上也有一些网站时间是这样显示的,这是怎么回事?请兄弟们赐教,如何消除这个尾巴。。。

.0表示毫秒在0-999之间取值,可以用格式化方式来解决:
import java.text.MessageFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;

formatStr =yyyy-MM-dd HH:mm:ss";//输出格式
SimpleDateFormat formatter = new SimpleDateFormat(formatStr);
try {
Date d = formatter.parse(“2008-04-26 13:33:26.0”);
} catch (ParseException e) {
logger.error("format Date error:" + dt + ".error msg:"
+ e.getMessage());
e.printStackTrace();
}
}
return d;