Java的日期与时间
原文链接
作者:Jakob Jenkov
译者:阿为
目录:http://blog.youkuaiyun.com/tjgykhulj/article/details/68952451
(所有译者备注将以此形式出现,删除线表示有争议或不明确的地方
)
(你会发现这一章有非常多内容同上一章相似,你的感觉是对的,因为原作者统一了描述格式,甚至在后续的章节中还会反复出现。
)
六、java.sql.Timestamp
Java中的java.sql.Timestamp
类适用于JDBC(数据库连接)API,如果你需要往java.sql.PreparedStatement
中设置日期时间,或从java.sql.ResultSet
中读取日期时间,你会用到java.sql.Timestamp
的。
其实吧,java.sql.Timestamp
是java.util.Date
的派生类(继承),所以任何你在java.util.Date
上能做的事,你也可以在java.sql.Timestamp
上做。具体可以参见java.util.Date
java.sql.Timestamp
和java.sql.Date
最大的不同在于java.sql.Date
只记录日期,而没有具体这一天的时间。所以举例来说,如果当前是2009-12-24 23:20,你创建一个java.sql.Date
将只记下2009-12-24这个信息。若你需要保留时间进行JDBC操作,请使用java.sql.Timestamp
代替。
纳秒
java.sql.Timestamp
和java.util.Date
的一个不同点在于,它可以保存纳秒(一秒中的第几纳秒)。你可以get或set这个纳秒值:
long time = System.currentTimeMillis();
java.sql.Timestamp timestamp = new java.sql.Timestamp(time);
timestamp.setNanos(123456);
int nanos = timestamp.getNanos(); // nanos = 123456