Dee*_*eep 4 java timestamp jdbc
数据库中的日期值是2011-03-19 18:49:04
Timestamp date;
ResultSet rs=smt.executeQuery("select * from posttopic where name='"+logn+"'");
while(rs.next()){
name=rs.getString(1);
title=rs.getString(2);
subject=rs.getString(3);
message=rs.getString(4);
date=rs.getTimestamp(5);
System.out.print(date);
}
Run Code Online (Sandbox Code Playgroud)
上述函数返回的日期值是2011-03-19 18:49:04.0.
为什么它会在最后添加.0?如何删除它?
java.sql.Timestamp(由返回getTimestamp)包括纳秒组件,并且其toString()方法将纳秒值附加到字符串的末尾.在您的情况下,纳秒值为零(您的数据只有一秒精度).
请注意,虽然java.sql.Timestamp是子类java.util.Date,但您应该小心对待它.来自Javadoc:
此类型是a
java.util.Date和单独的纳秒值的组合.只有整数秒存储在java.util.Date组件中.分数秒 - 纳米 - 是分开的.Timestamp.equals(Object)传递不是实例的对象时,该方法永远不会返回truejava.sql.Timestamp,因为日期的nanos组件未知.结果,该Timestamp.equals(Object)方法相对于该java.util.Date.equals(Object)方法不对称.此外,哈希码方法使用底层java.util.Date实现,因此在其计算中不包括nanos.由于上面提到的
Timestamp类和java.util.Date类之间的差异,建议代码不要将Timestamp值一般视为一个实例java.util.Date.Timestamp和之间的继承关系java.util.Date实际上表示实现继承,而不是类型继承.
| 归档时间: |
|
| 查看次数: |
16396 次 |
| 最近记录: |