参考链接: Java中的date after()方法

举例:

Date的after和before方法解释

Date1.after(Date2),当Date1大于Date2时,返回TRUE,当小于等于时,返回false;   Date1.before(Date2),当Date1小于Date2时,返回TRUE,当大于等于时,返回false;   如果业务数据存在相等的时候,而且相等时也需要做相应的业务判断或处理时,请注意。   如果有这样的需求,在某个日期内的业务check,那么你需要使用:!Date1.after(Date2)

Date详解

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 中 date类型详解相关推荐

  1. 最新Java中Date类型详解

    一.Date类型的初始化 1. Date(int year, int month, int date); 直接写入年份是得不到正确的结果的. 因为java中Date是从1900年开始算的,所以前面的第 ...

  2. java中的map是什么_转载java中Map的详解

    Map简介 什么是map? map是一个接口  是一个将建key 映射到值的对象. map的主要作用是什么? 可以通过创建一个map的实现类 来存放 数据 值 和值的描述 也可以通过描述去取得数据 将 ...

  3. java中枚举类型详解

    枚举类型的引入: 枚举是从java5开始提供的一种新的数据类型,是一个特殊的类,就是固定的多个常量对象的集合. 定义格式: [修饰]enum 枚举类名 { 常量A,常量B,常量C; } 代码: pac ...

  4. Java中JDBC连接数据库详解

    今天动力节点java学院小编分享的是JDBC连接数据库的相关知识,希望通过看过此文,各位小伙伴对DBC连接数据库有所了解,下面就跟随小编一起来看看JDBC连接数据库的知识吧. 一.JDBC连接数据库概 ...

  5. JAVA中的Random详解

    JAVA中的Random详解 首先,在JDK自带的常用的random中有两个,这俩都是产生随机数的,不过一个是util下的random,另外一个是Math下的.我们分别介绍一下 util中的rando ...

  6. Java中super关键字详解

    Java中super关键字详解 super有什么用? super什么时候不可以省略呢? super在内存图中是如何存在的呢? super使用时的注意事项 super有什么用? (1)当子类中构造方法第 ...

  7. Java中的byte详解

    Java中的byte详解 介绍 byte,即字节,由8位的二进制组成.在Java中,byte类型的数据是8位带符号的二进制数. 在计算机中,8位带符号二进制数的取值范围是[-128, 127],所以在 ...

  8. java中new关键字详解

    java中new关键字详解 在java中我们可以经常使用new来创建一个对象,但是这对于初学者来说可能只会使用却不能理解new关键字和它的语法 new关键字的语法 注意使用前先导包,一般我们使用ide ...

  9. Java中Iterator迭代器详解

    目录 一.Java中Iterator迭代器详解 1.为什么需要迭代器 2.迭代器长什么样子 3.如何使用迭代器 使用步骤: 代码演示: 迭代器可以简化为增强型for循环: 4.Iterator与Lis ...

最新文章

  1. 初识 ElasticSearch,一个上天下地的搜索引擎 No.158
  2. python 找质数的个数_盘一盘 Python 系列特别篇 All 和 Any
  3. Python基础教程:list列表、tuple元组、range常用方法总结
  4. 基于用户的协同过滤(余弦相似度)
  5. C++ Opengl 透明纹理源码
  6. Semaphore源码分析
  7. python中deepcopy函数_python – copy.deepcopy使用自定义的__new __()方法在对象上引发TypeError...
  8. python无法安装pycurl_Python安装pycurl失败的解决方法
  9. Windows之node.js安装
  10. 以串结构存储c语言版,数据结构C语言版 串的块链存储表示和实现
  11. slab 着色如何最大限度地利用 Cache Lines 或 Cache Rows?
  12. 洛谷P2073 送花 [2017年6月计划 线段树01]
  13. Canvas实现简单刮刮乐效果
  14. 新年期间可能出现的街头骗术--收集
  15. XML文件解析 --------------------笔记
  16. PHP7.1安装memcaehd扩展
  17. android 流量计算器,电工计算器v8.0.1_for Android 直装解锁专业版
  18. PR预设 16个毛刺效果抖音故障特效视频转场PR预设V2版本
  19. 爬虫--Scrapy之Downloader Middleware
  20. 抖音是如何做内容推荐的?

热门文章

  1. JavaScript的预解析(1)
  2. 求素数--筛选法和打表
  3. Java---集合类框架图
  4. 试题16 回文数字(5位或6位)
  5. UnityShader1:渲染流水线
  6. 置换群burnside引理(bzoj 1004: [HNOI2008]Cards)
  7. python机器学习库keras——AutoEncoder自编码、特征压缩
  8. zynq开发系列5:通过AXI GPIO的中断实现PL端按键控制PS端LED
  9. Android现学现用第十二天
  10. Maven多模块构建实例