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

java.lang.Object

--java.util.Date

--java.sql.Date

--java.sql.Time

--java.sql.Timestamp

 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下的使用

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

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());

Java 基础【09】 日期类型的更多相关文章

  1. [原创]java WEB学习笔记81:Hibernate学习之路--- 对象关系映射文件(.hbm.xml):hibernate-mapping 节点,class节点,id节点(主键生成策略),property节点,在hibernate 中 java类型 与sql类型之间的对应关系,Java 时间和日期类型的映射,Java 大对象类型 的 映射 (了解),映射组成关系

    本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...

  2. java基础04-数据类型扩展及面试题

    java基础04-数据类型扩展及面试题讲解 public class demo02 { public static void main(String[] args){ // 一.整数拓展: 进制 二进 ...

  3. Java Hour 50 日期类型

    Plan List: 1 Java 中的日期类型 2 mysql 相关 3 java code style 鉴于本问题太过普通,所以参考文章满大街都是,因此本文内容基本为转载和验证. java.sql ...

  4. 【转】Java基础笔记 – 枚举类型的使用介绍和静态导入--不错

    原文网址:http://www.itzhai.com/java-based-notes-introduction-and-use-of-an-enumeration-type-static-impor ...

  5. Java基础之枚举类型Enum的使用

    Java基础之枚举类型Enum的使用 定义 public enum AccruedCleanEnum { SPREAD("1","发票"),OTHER(&quo ...

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

    基础知识: 在 Java 中, 代表时间和日期的类型包含: java.util.Date 和 java.util.Calendar. 此外, 在 JDBC API 中还提供了 3 个扩展了 java. ...

  7. hibernate Java 时间和日期类型 Hibernate 制图

    基础知识: 于 Java 于, 型表示的时间和日期包含: java.util.Date 和 java.util.Calendar. 外, 在 JDBC API 中还提供了 3 个扩展了 java.ut ...

  8. Java基础(二) 基本类型数据类型、包装类及自动拆装箱

    我们知道基本数据类型包括byte, short, int, long, float, double, char, boolean,对应的包装类分别是Byte, Short, Integer, Long ...

  9. Java基础_枚举类型

    作用:让数据更简洁,更易读,增加代码可读性. 为了用1,2,3,4,5分别表示老师,学生,小组,班主任,后勤,可以直接设置一个变量,让roleType = 1,但这样写代码可读性差. 也可以定义一个成 ...

  10. Java基础:基本类型

    1.基本类型 Java中有8种基本类型,分为4类,分别为: 整型:包括  byte . short. int . long 泛型:float.double 字符型:char 布尔型:boolean 2 ...

随机推荐

  1. 别再TM跟我说找不到满意的工作!

    上一篇老徐跟大家分享:如何判断自己在这家公司是否有成长? 今天只想跟大家说几个真是案例:别再TM总抱怨说找不到满意的工作 说明:如下案例,针对老徐当前的软件测试职业,其他职业可自己脑补--- / 1 ...

  2. spring mvc基础配置

    web.xml 配置: <servlet> <servlet-name>dispatcher</servlet-name> <servlet-class> ...

  3. MySQL 5.6 主从复制如何处理——触发器,函数,存储过程,调度事件

      截图来自MySQL5.6的pdf版文档. 说明: 1)基于语句的复制时,trigger会在slave上执行,所以slave上也需要有trigger的定义,不然会导致主从数据不一致的: 2)基于行的 ...

  4. iOS Build Active Architecture Only 属性的理解(及 not found for architecture i386 的解决方案)

    最近做项目过程遇到一个问题: 涉及到这个属性:Build Active Architecture Only Yes .No的区别: 设置为yes,是只编译当前的architecture版本,是为了编译 ...

  5. & fg jobs bg

    & 执行程序的后面加&可以将程序转到后台(这个后台是当前会话的后台,并不是守护进程)执行,即$./a.out &,这样我们在打开诸如$gedit test.txt的时候可以写成 ...

  6. linux线程同步(2)-条件变量

    一.概述                                                    上一篇,介绍了互斥量.条件变量与互斥量不同,互斥量是防止多线程同时访问共享的互斥变量来保 ...

  7. php中的curl使用入门教程和常见用法实例

    摘要: [目录] php中的curl使用入门教程和常见用法实例 一.curl的优势 二.curl的简单使用步骤 三.错误处理 四.获取curl请求的具体信息 五.使用curl发送post请求 六.文件 ...

  8. monkeyrunner之环境搭建及实例(三)

    Monkeyrunner工具提供了一个API,使用此API写出的程序可以在Android代码之外控制Android设备和模拟器. 一.Monkeyrunner简介 1.MOnkeyrunner相对Mo ...

  9. 大话设计模式C++版——装饰模式

    女人常说男人喜新厌旧,只见新人笑,那闻旧人哭,但装饰模式(Decorator)却是一种结交新朋友不忘老朋友的设计模式,非常适合去古代当老公(现代是不行的,因为只能娶一个老婆了).装饰模式的本质是每一个 ...

  10. css3中变形与动画(一)

    css3制作动画的几个属性:变形(transform),过渡(transition)和动画(animation). 首先介绍transform变形. transform英文意思:改变,变形. css3 ...