Java中的日期类型

java.util.Date

java.util.Date类设计用来表示某个特定的时间瞬间,精度到毫秒。java.util.Date描述的时间内容包括了:

  • 年份 y 由整数 y - 1900 表示。
  • 月份由从 0 至 11 的整数表示;0 是一月、1 是二月等等;因此 11 是十二月。
  • 日期(一月中的某天)按通常方式由整数 1 至 31 表示。(为什么月份从0开始计算,而日期却是从1开始,真是很诡异的地方?)
  • 小时由从 0 至 23 的整数表示。因此,从午夜到 1 a.m. 的时间是 0 点,从中午到 1 p.m. 的时间是 12 点。
  • 分钟按通常方式由 0 至 59 的整数表示。
  • 秒由 0 至 61 的整数表示;值 60 和 61 只对闰秒发生,尽管那样,也只用在实际正确跟踪闰秒的 Java 实现中。于按当前引入闰秒的方式,两个闰秒在同一分钟内发生是极不可能的,但此规范遵循 ISO C 的日期和时间约定。

java.util.Date包含了一个关键的概念是Time(返回自1970 年1月1日00:00:00 GMT 以来此 Date 对象表示的毫秒数。),Time是在java.util.Date是一个long类型,对它的存取可以通过getTime和setTime两个方法来进行,需要特别说明的是Time是相对于1970 年1月1日00:00:00 的毫秒数,还需要特别注意的是1970 年1月1日00:00:00这个时间一定是GMT时间。

Java.sql.Date,java.sql.Time,java.sql.Timestamp

Java.sql.Date,java.sql.Time,java.sql.Timestamp都是java.util.Date的子类,不过从他们的package就可以看出来都是跟jdbc有关的,三者跟SQL中日期相关的数据类型对应关系如下

  • java.sql.Date->SQL DATE->保存日期数据(年,月,日)

  • java.sql.Time->SQL TIME->保存小时,分钟,秒数据
  • java.sql.Timestamp->SQL TIMESTAMP 保存日期和时间。

java.sql.Date和,java.sql.Time虽然都是精确到毫秒级,但为了跟后台的数据库匹配,做相应的裁剪,例如java.sql.Date不包含小时、分钟、秒信息。java.sql.Time也是。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值