类 java.sql.Timestamp

类 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
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值