java api中日期类型的继承关系

java.lang.Object

--java.util.Date

--java.sql.Date

--java.sql.Time

--java.sql.Timestamp

1. java.util.Date表示特定的瞬间,精确到了毫秒

两个构造函数(别的过期了的我就不说了) Date()   Date(long date) 主要方法》》

boolean

after(Date when) 
          测试此日期是否在指定日期之后。

boolean

before(Date when) 
          测试此日期是否在指定日期之前。

Object

clone() 
          返回此对象的副本。

int

compareTo(Date anotherDate) 
          比较两个日期的顺序。

boolean

equals(Object obj) 
          比较两个日期的相等性。

long

getTime() 
          返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数。(最常用的方法了)

java.sql下面的包主要是用在jdbc下的使用

2. Timestamp()

此类型由 java.util.Date 和单独的毫微秒值组成。只有整数秒才会存储在 java.util.Date 组件中。小数秒(毫微秒)是独立存在的。传递 java.util.Date 类型的值时,Timestamp.equals(Object) 方法永远不会返回 true,因为日期的毫微秒组件是未知的。因此,相对于 java.util.Date.equals(Object)方法而言,Timestamp.equals(Object) 方法是不对称的。此外,hashcode 方法使用基础java.util.Date 实现并因此在其计算中不包括毫微秒。

鉴于 Timestamp 类和上述 java.util.Date 类之间的不同,建议代码一般不要将 Timestamp 值视为java.util.Date 的实例。Timestamp 和 java.util.Date 之间的继承关系实际上指的是实现继承,而不是类型继承。

构造方法:

Timestamp(long time) 
          使用毫秒时间值构造 Timestamp 对象。

boolean

after(Timestamp ts) 
          指示此 Timestamp 对象是否晚于给定的 Timestamp 对象。

boolean

before(Timestamp ts) 
          指示此 Timestamp 对象是否早于给定的 Timestamp 对象。

int

compareTo(Date o) 
          将此 Timestamp 对象与给定的 Date(必须为 Timestamp 对象)相比较。

int

compareTo(Timestamp ts) 
          将此 Timestamp 对象与给定 Timestamp 对象相比较。

boolean

equals(Object ts) 
          测试此对象是否等于给定的 Timestamp 对象。

boolean

equals(Timestamp ts) 
          测试此 Timestamp 对象是否等于给定的 Timestamp 对象。

int

getNanos()(因为刚才说过了 我们不能通过java.util.Date来获得毫秒 ,timestamp就自己提供)
          获取此 Timestamp 对象的 nanos 值。

long

getTime() 
          返回此 Timestamp 对象表示的自 1970 年 1 月 1 日 00:00:00 GMT 以来的毫秒数。

void

setNanos(int n) 
          将此 Timestamp 对象的 nanos 字段设置为给定值。

void

setTime(long time) 
          设置此 Timestamp 对象,以表示 1970 年 1 月 1 日 00:00:00 GMT 以后 time 毫秒的时间点。

String

toString() 
          使用 JDBC 时间戳转义格式编排时间戳。

static Timestamp

valueOf(String s) 
          将使用 JDBC 时间戳转义格式的 String 对象转换为 Timestamp 值。

因为是继承了java.util.Date  所以也继承了里面的方法。。这个类的主要作用就是在数据库中插入时间,那有些人就会问为什么不用java.sql.Date,那么我们就来看下java.sql.Date>>

java.sql.Date》》

构造方法Date(long date) 
          使用给定毫秒时间值构造一个 Date 对象。

void

setTime(long date) 
          使用给定毫秒时间值设置现有 Date 对象。

String

toString() 
          格式化日期转义形式 yyyy-mm-dd 的日期。

static Date

valueOf(String s) 
          将 JDBC 日期转义形式的字符串转换成 Date 值。

可能有人发现了 在我们用这个java.sql.Date类型插入数据库的时候会发现丢失了时分秒,发生了自动截取,这是为什么呢?

原来java.sql.Date是为了配合SQL DATE而设置的数据类型。“规范化”的java.sql.Date只包含年月日信息,时分秒毫秒都会清零。格式类似:YYYY-MM-DD。当我们调用ResultSet的

getDate()方法来获得返回值时,java程序会参照"规范"的java.sql.Date来格式化数据库中的数值。因此,如果数据库中存在的非规范化部分的信息将会被劫取。所以我们要精确的日期时应该使用Timestamp

3. Time()

Time(long time) 
          使用毫秒时间值构造 Time 对象。

void

setTime(long time) 
          使用毫秒时间值设置 Time 对象。

String

toString() 
          使用 JDBC 时间转义格式对时间进行格式化。

static Time

valueOf(String s) 
          将使用 JDBC 时间转义格式的字符串转换为 Time 值。

有了上面这些知识后,我们要进行转换就发现一目了然了>>>基本都是可以通过getTime()方法获得long类型的毫秒数 在通过构造函数把这毫秒数传过去就完成了转换。如:

java.util.Date d = new java.util.Date(sqlDate.getTime());

转载于:https://www.cnblogs.com/java-class/p/4497906.html

Java 基础【12】 日期类型相关推荐

  1. java中Date日期类型的大小比较

    java中Date日期类型的大小比较 方法一: java.util.Date类实现了Comparable接口,可以直接调用Date的compareTo()方法来比较大小 String beginTim ...

  2. Java基础笔记 – 枚举类型的使用介绍和静态导入

    Java基础笔记 – 枚举类型的使用介绍和静态导入 本文由 arthinking 发表于404 天前 ⁄ Java基础 ⁄ 暂无评论 ⁄ 被围观 1,433 views+ 1.枚举(Enum): JD ...

  3. JAVA 基础 12月06日 第一天

    今天重新复习了一下java基础 java语言的写作规范: 变量名称及项目名命名规范:: 变量名,属性名,方法名一律按照驼峰命名法: 类名 项目名首字母大写: 常量名全大写: 数据各式各样要根据需求(数 ...

  4. java基础:基本类型

    java基本类型(八大基础类型) 八大基本类型如下 byte boolean char int short long float double 下面具体介绍各个类型: 1.booelan(布尔类型) ...

  5. 【Java基础】基本类型与运算

    Java的8种基本数据类型 8种基本数据类型:byte short int long float double char boolean,基本数据类型不是对象,此类变量在被声明的时候会在栈上分配空间. ...

  6. Java基础12 多态

    作者:Vamei 出处:http://www.cnblogs.com/vamei 我们之前使用类创造新的类型(type),并使用继承来便利我们创建类的过程.我将在这一讲中深入类型,并介绍多态(poly ...

  7. Java基础篇-基本类型

    文章目录 初入JAVA 1.什么是基本类型 2.基本类型的分类.长度和默认值 3.拆箱和装箱 初入JAVA java学习都是从基本类型开始的,日常工作中基本类型也是经常用的东西.不过基本类型的知识点确 ...

  8. java基础之反射类型Type

    Java在加入泛型之后,仅仅Class已经不足以描述数据的类型了,比如List类型的数据,其Class的类型为List.class,但是其类型包含了泛型参数,所以java引入了Type类型来描述泛型类 ...

  9. java基础(十一) 枚举类型

    枚举类型Enum的简介 1.什么是枚举类型 枚举类型: 就是由一组具有名的值的有限集合组成新的类型.(即新的类). 好像还是不懂,别急,咱们先来看一下 为什么要引入枚举类型 在没有引入枚举类型前,当我 ...

  10. Java 时间和日期类型的 Hibernate 映射

    以下情况下必须显式指定 Hibernate 映射类型 一个 Java 类型可能对应多个 Hibernate 映射类型. 例如: 如果持久化类的属性为 java.util.Date 类型, 对应的 Hi ...

最新文章

  1. RT-Thread GCC VSCode等开源工具链 在智能小车制作中的应用
  2. VS2010版快捷键
  3. 51nod 1004 【快速幂】
  4. CSDN Markdown编辑器编辑教程
  5. 训练日志 2019.1.2
  6. 如何发表高水平论文(转载,非常好)
  7. Oracle创建一个用户并赋予其他用户表的访问权限
  8. 在Red Hat Enterprise Linux 5 64-bit安装oracle11g r2
  9. JavaEE学习12—JDBC(下)
  10. 【VISIO2016箭头使用】
  11. 如何把视频kux格式转换mp4?手机怎么观看kux视频
  12. xlua 转webgl 遇到的一些错误
  13. ubuntu查看实时网速
  14. 13-GPIO功能框图
  15. 大连计算机学校贾佳,大连市第二十四中学信息学奥赛喜报频传
  16. 计算机相关扩展活动战队名字,2020最新战队名字大全
  17. Jupyter notebook用谷歌浏览器打开
  18. ZYNQ从放弃到入门(三)- 中断(一)
  19. C++:数组、链表与哈希表
  20. Mysql培训第一天

热门文章

  1. 设置VMWARE通过桥接方式使用主机无线网卡上网
  2. gdk_draw_arc这个函数
  3. java中replace函数
  4. MATLAB 图像函数(第三章) 图像基本处理
  5. fh admin mysql版本_mysql5.6 和 mysql8 配置的差异
  6. 【mysql】成绩单表,找到所有成绩都不及格的所有人
  7. [POJ]Zipper[动态规划]
  8. 网站请求过程中的代号及意义
  9. ListView实现分页
  10. sql中group by 和having 用法解析