类 java.sql.Timestamp

原创 2006年05月23日 15:54:00

类 java.sql.Timestamp

java.lang.Object
   |
   +----java.util.Date
           |
           +----java.sql.Timestamp

public class Timestamp
extends Date

该类是 java.util.Date 瘦包装器,它允许 JDBC 把该类作为 SQL TIMESTAMP 值识别。 它添加了用以维持 SQL TIMESTAMP 纳秒值的能力并提供格式化和分析操作以支持用于 timestamp 值的 JDBC 换码语法。

注意: 该类型是 java.util.Date 和分离的毫微秒值的组合。仅完整的秒数存到 java.util.Date 组件中。分数秒数 - 毫微秒 - 是分离的。 getTime 方法仅返回完整的秒数。如果需要包含分数秒数的时间值就必须把毫微秒转换成毫秒(毫微秒 /1000000),并把它添加到 getTime 值上。注意,hashcode() 方法使用基本的 java.util.Data 来实现,因此在它的计算中不包括毫微秒。

 


构造子索引

Timestamp(int, int, int, int, int, int, int)
构造一个 Timestamp 对象
Timestamp(long)
构造一个使用毫秒时间值的 Timestamp 。

方法索引

after(Timestamp)
该时间标记晚于时间标记参数吗?
before(Timestamp)
该时间标记早于时间标记参数吗?
equals(Timestamp)
测试 Timestamp 值是否相等
getNanos()
获取 Timestamp 的毫微秒值
setNanos(int)
设置 Timestamp 的毫微秒值
toString()
以 JDBC timestamp 换码格式来格式化一个时间标记
valueOf(String)
把 JDBC timestamp 换码格式的字符串转换成一个 Timestamp 值

构造子

Timestamp
 public Timestamp(int year,
             int month,
             int date,
                       int hour,
                       int minute,
                  int second,
                  int nano)
构造一个 Timestamp 对象

 

参数:
year - 年-1900
month - 0 到 11
day - 1 到 31
hour - 0 到 23
minute - 0 到 59
second - 0 到 59
nano - 0 到 999,999,999
Timestamp
 public Timestamp(long time)
构造一个使用毫秒时间值的 Timestamp 。 整数秒存储到基本的日期值中;分数的秒被存到毫微秒值中。

 

参数:
time - 自 GMT 1970年1月1日 00:00:00 起的毫秒数

方法

valueOf
 public static Timestamp valueOf(String s)
把 JDBC timestamp 换码格式的字符串转换成一个 Timestamp 值

 

参数:
s - "yyyy-mm-dd hh:mm:ss.fffffffff" 格式的时间标记
返回值:
相应的 Timestamp
toString
 public String toString()
以 JDBC timestamp 换码格式来格式化一个时间标记

 

返回值:
yyyy-mm-dd hh:mm:ss.fffffffff 格式的字符串
覆盖:
Date 中的 toString
getNanos
 public int getNanos()
获取 Timestamp 的毫微秒值

 

返回值:
Timestamp 的分数秒部分
setNanos
 public void setNanos(int n)
设置 Timestamp 的毫微秒值

 

参数:
n - 新的分数秒部分
equals
 public boolean equals(Timestamp ts)
测试 Timestamp 值是否相等

 

参数:
ts - 与该 Timestamp 值相比较的 Timestamp 值
before
 public boolean before(Timestamp ts)
该时间标记早于时间标记参数吗?

 

参数:
ts - 与 Timestamp 值相比较的值
after
 public boolean after(Timestamp ts)
该时间标记晚于时间标记参数吗?

 

参数:
ts - 与该 Timestamp 值相比较的 Timestamp 值

MySQL中尽量使用datetime,而不要使用timestamp

粗看起来,在MySQL中timestamp和datetime都能保存年、月、日、时、分、秒,只是timestamp可以保存1秒以下的时间。
但不仅仅是这样,timestamp是有限制范围的,从1970年1月2日到203几年。虽然这个限制看起来无所谓,因为一般用不到。但是,如果一旦有超过此范围的值insert或者update,MySQL并不会报错,并把一个年月日时分秒都是0的值放到表中。这一点在mysql文档中是有的,但是很可能未被注意到。
由于MySQL不报错,因此应用程序并不知道。当再把此值查出来的时候,就导致应用程序出现意想不到的错误。
因此,除非必须,否则在MySQL中尽量使用datetime,不用timestamp
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

java.sql.Timestamp类的使用

java.sql.Timestamp类的使用  Timestamp 可以精确到小数秒 一般存储的格式:2016-12-18 11:05:36.531  Timestamp 可以获取当前时间,...
  • zouhuu
  • zouhuu
  • 2016-12-18 11:02
  • 1465

java中Date/Time/Timestamp对应sql

java.lang.Object  ....|__java.util.Date  ..........|__java.sql.Date/java.sql.Timestamp /java.sql.T...

String 转 java.sql.Timestamp 异常详解

在String转Timestamp时,可调用Timestamp.valueOf(dateStr),可能会遇到下面这种异常,java.lang.IllegalArgumentException: Ti...
  • L_R_F_
  • L_R_F_
  • 2016-08-17 11:21
  • 1007

java.sql.timestamp

java.sql.timestamp 怎么把一个java.util.Date类型转化成java.sql.Timestamp类型呢? 很简单,我们可以这样声明 Timestamp ts = ...

[Java]java.sql.Timestamp(时间戳)

java.sql.Timestamp(时间戳)

java.sql.Date 和 java.sql.TimeStamp 时间格式存储问题

向数据库中插入时间属性, SimpleDateFormat simpleTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//定义日期...

java.sql.SQLException: Value '0000-00-00 00:00:00' can not be represented as java.sql.Timestamp

详细错误信息:org.springframework.dao.TransientDataAccessResourceException: ### Error querying database. ...

java.util.date , java.sql.date , java.sql.timestamp

整理一: 这里的一片文章,我个人认为讲解的很详细,有对 java.sql.Date的使用还有困惑的请看。 java.sql.Date 只存储日期数据不存储时间数据 // 会丢失时间数据 pre...

java.util.date java.sql.date java.sql.timestamp[轉]

java.util.date java.sql.date java.sql.timestamp[轉] http://hi.baidu.com/zhangyx/blog/item/5fdf0a4f1b...

java Timestamp 类的使用 (MySql,Oracle,SQLServer)

java Timestamp 类的使用  (MySql,Oracle,SQLServer) 怎么把一个java.util.Date类型转化成java.sql.Tim...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)