我写了一些用于将字符串转换为Timestamp的代码:
String timeStamp = "2012-04-13 09:00:30";
try{
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
java.util.Date parsedDate = sdf.parse(timeStamp);
System.out.println(parsedDate.toString());
java.sql.Timestamp timestamp = new java.sql.Timestamp(parsedDate.getTime());
System.out.println(timestamp.toString());
}catch (Exception e) {
// TODO: handle exception
}
我得到的输出是:
2012-04-13 09:00:30.0
但我希望输出为:
2012-04-13 09:00:30
即。我最后不需要.0
请建议
谢谢,
答案 0 :(得分:1)
您需要使用format()
SimpleDateFormat
方法
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//parsing string to date
java.util.Date parsedDate = sdf.parse(timeStamp);
//invoking toString() method which has its fixed format output
System.out.println(parsedDate.toString());
现在使用
System.out.println(sdf.format(parsedDate));
答案 1 :(得分:0)
再次使用你的sdf
System.out.println(sdf.format(parsedDate));
答案 2 :(得分:0)
format()的输出始终是String。你到底在想什么?
您抱怨的“.0”仅存在于对象的字符串表示中。当它插入数据库时,它是一个时间戳,而不是一个字符串。 (当您直接查询数据库时,您可能会看到或不会看到额外的小数;这取决于您编写SQL的方式。)