`
ganjp
  • 浏览: 71884 次
  • 性别: Icon_minigender_1
  • 来自: 其实还可以
社区版块
存档分类
最新评论

java中日期类型详解

阅读更多

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 的实例。Timestampjava.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日期操作类详细讲解

    在Java编程语言中,日期和时间的操作是必不可少的一部分。无论是处理日志记录、数据分析,还是构建复杂的业务逻辑,我们都需要对日期和时间进行各种操作。本篇内容将深入讲解Java中的日期操作类,这对于Java初学者来...

    MySql于Java数据类型对应列表

    ### MySQL与Java数据类型对应详解 #### 概述 在进行数据库操作时,尤其是在使用Java进行MySQL数据库开发的过程中,正确地映射数据类型是至关重要的一步。本文将详细介绍MySQL中的各种数据类型及其在Java中的对应...

    Java读取Excel表格中的日期

    // 处理日期类型的单元格 } ``` ##### 3. 日期格式的转换 一旦确认单元格包含日期格式的数据,接下来就需要将其转换为Java中的`Date`对象。这里可以使用`DataFormatter`类来帮助格式化日期: ```java ...

    java2 sdk 类库详解(pdf)

    在阅读《JAVA2 SDK 类库详解(PDF)》这份文档时,开发者可以期待对这些核心库有更深入的理解,掌握如何有效地利用Java SDK中的类库来提高开发效率和代码质量。同时,这份文档可能还会涵盖一些高级主题,如内存...

    java存储oracle中的clob类型

    ### Java存储Oracle中的CLOB类型知识点详解 #### 一、CLOB类型简介及Java操作方法 CLOB(Character Large Object)是一种用于存储大量文本数据的数据类型,在Oracle数据库中被广泛使用,可以支持最大4GB的数据量。...

    JAVA2 SDK类库详解(中文)

    这个压缩包文件"JAVA2 SDK类库详解(中文)"提供了一份详细的中文指南,旨在帮助Java开发者深入理解和应用Java 2 SDK中的类库。这份资料书对初学者和经验丰富的开发者来说都是一份宝贵的资源。 在Java 2 SDK中,...

    详解 Java中日期数据类型的处理之格式转换的实例

    Java 日期数据类型处理之格式转换实例详解 Java 中的日期数据类型处理是非常重要的,特别是在实际项目中,日期和时间的格式处理是必不可少的。在 Java 中,日期和时间的格式处理一般会涉及到两个数据类型:Calendar...

    JAVA2 SDK类库详解

    **JAVA2 SDK类库详解** Java 2 Software Development Kit(SDK)是开发和运行Java应用程序的基础,它包含了大量的工具和类库,使得开发者能够利用Java的强大功能构建跨平台的应用程序。这个PDF电子书版本虽然可能...

    Java开发详解.zip

    010301_【第3章:Java基础程序设计】_Java数据类型笔记.pdf 010302_【第3章:Java基础程序设计】_运算符、表达式与语句笔记.pdf 010303_【第3章:Java基础程序设计】_判断与循环语句笔记.pdf 010401_【第4章:数组与...

    Java-Java8十大特性详解教程

    在这个Java8十大特性详解教程中,我们将深入探讨这些关键特性,旨在帮助你更好地理解和应用Java 8。 1. **lambda表达式**: Lambda表达式是Java 8中最显著的特性之一,它简化了函数式编程,使得处理集合数据变得...

    java导入导出详解

    最关键的是这套API是纯Java的,并不依赖Windows系统,即使运行在Linux下,它同样能够正确的处理Excel文件。另外需要说明的是,这套API对图形和图表的支持很有限,而且仅仅识别PNG格式。 搭建环境 将下载后的文件解包...

    java1.8 java1.8

    5. **日期和时间API的改进**:Java 8用新的java.time包替换了过时的日期和时间API。新API提供了更好的操作日期、时间、时区的能力,如LocalDate、LocalTime、LocalDateTime和ZonedDateTime等类。 6. **Optional类**...

    java面试题题库详解

    - **String 类型的基本理解:** 在 Java 中,`String` 是一个不可变的对象,它代表了字符序列。 - **与其他类型的不同:** `String` 是对象而非原始数据类型;`String` 对象一旦创建后,其值不能改变。 #### 2. ...

    JAVA数据类型转换.pdf

    ### JAVA数据类型转换详解 #### 一、引言 在Java编程中,数据类型转换是一项基本且重要的技能。本文档将详细介绍Java中的数据类型转换,包括简单数据类型之间的转换、字符串与其他数据类型的转换以及一些实用的...

    Java字符串类型转换

    ### Java字符串类型转换详解 在Java编程语言中,字符串(String)是一种常用的数据类型,用于处理文本数据。Java提供了丰富的API来支持不同类型的字符串转换,包括但不限于从字符数组、基本数据类型、对象到字符串...

    《JAVA2 SDK 类库详解》

    《JAVA2 SDK 类库详解》是一本专注于Java 2 Software Development Kit (SDK) 的深入解析书籍,涵盖了Java编程的核心概念和技术。这本书旨在帮助开发者全面理解Java SDK中的类库,包括其设计原理、功能特性和使用方法...

    最新 java se8 虚拟机 详解

    6. **新的数值类型**:Java 8引入了`java.lang.Integer`和`java.lang.Long`的新的静态方法,如`sum()`、`min()`和`max()`,以及`Optional`类,用于更好地处理null值,减少空指针异常。 7. **改进的垃圾收集器**:...

    Java 中DateUtils日期工具类的实例详解

    Java 中DateUtils日期工具类是 Java 语言中对日期类型的操作的重要组件,主要用于处理日期类型和字符串类型之间的转换。在 Java 项目中,日期类型的处理往往非常不方便,特别是在 JDK 1.8 之前的版本中,需要借助 ...

    Java 时间日期详细介绍及实例

    Java时间日期处理是编程中常见的任务,特别是在处理与时间相关的逻辑和数据存储时。本文将深入探讨Java中处理时间日期的几个核心类及其用途。 首先,`java.util.Date`是Java标准库中处理时间日期的基本类,它表示自...

    Eclipse Java注释模板设置详解

    ### Eclipse Java注释模板设置详解 在开发过程中,良好的代码注释习惯对于提高代码的可读性和维护性具有重要作用。Eclipse作为一款流行的Java集成开发环境(IDE),提供了丰富的功能来帮助开发者更好地管理代码和...

Global site tag (gtag.js) - Google Analytics