Java 基础【12】 日期类型
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() |
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) |
boolean |
before(Timestamp ts) |
int |
compareTo(Date o) |
int |
compareTo(Timestamp ts) |
boolean |
equals(Object ts) |
boolean |
equals(Timestamp ts) |
int |
getNanos()(因为刚才说过了 我们不能通过java.util.Date来获得毫秒 ,timestamp就自己提供) |
long |
getTime() |
void |
setNanos(int n) |
void |
setTime(long time) |
String |
toString() |
static Timestamp |
valueOf(String s) |
因为是继承了java.util.Date 所以也继承了里面的方法。。这个类的主要作用就是在数据库中插入时间,那有些人就会问为什么不用java.sql.Date,那么我们就来看下java.sql.Date>>
java.sql.Date》》
构造方法Date(long date)
使用给定毫秒时间值构造一个 Date 对象。
void |
setTime(long date) |
String |
toString() |
static Date |
valueOf(String s) |
可能有人发现了 在我们用这个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) |
String |
toString() |
static Time |
valueOf(String s) |
有了上面这些知识后,我们要进行转换就发现一目了然了>>>基本都是可以通过getTime()方法获得long类型的毫秒数 在通过构造函数把这毫秒数传过去就完成了转换。如:
java.util.Date d = new java.util.Date(sqlDate.getTime());
转载于:https://www.cnblogs.com/java-class/p/4497906.html
Java 基础【12】 日期类型相关推荐
- java中Date日期类型的大小比较
java中Date日期类型的大小比较 方法一: java.util.Date类实现了Comparable接口,可以直接调用Date的compareTo()方法来比较大小 String beginTim ...
- Java基础笔记 – 枚举类型的使用介绍和静态导入
Java基础笔记 – 枚举类型的使用介绍和静态导入 本文由 arthinking 发表于404 天前 ⁄ Java基础 ⁄ 暂无评论 ⁄ 被围观 1,433 views+ 1.枚举(Enum): JD ...
- JAVA 基础 12月06日 第一天
今天重新复习了一下java基础 java语言的写作规范: 变量名称及项目名命名规范:: 变量名,属性名,方法名一律按照驼峰命名法: 类名 项目名首字母大写: 常量名全大写: 数据各式各样要根据需求(数 ...
- java基础:基本类型
java基本类型(八大基础类型) 八大基本类型如下 byte boolean char int short long float double 下面具体介绍各个类型: 1.booelan(布尔类型) ...
- 【Java基础】基本类型与运算
Java的8种基本数据类型 8种基本数据类型:byte short int long float double char boolean,基本数据类型不是对象,此类变量在被声明的时候会在栈上分配空间. ...
- Java基础12 多态
作者:Vamei 出处:http://www.cnblogs.com/vamei 我们之前使用类创造新的类型(type),并使用继承来便利我们创建类的过程.我将在这一讲中深入类型,并介绍多态(poly ...
- Java基础篇-基本类型
文章目录 初入JAVA 1.什么是基本类型 2.基本类型的分类.长度和默认值 3.拆箱和装箱 初入JAVA java学习都是从基本类型开始的,日常工作中基本类型也是经常用的东西.不过基本类型的知识点确 ...
- java基础之反射类型Type
Java在加入泛型之后,仅仅Class已经不足以描述数据的类型了,比如List类型的数据,其Class的类型为List.class,但是其类型包含了泛型参数,所以java引入了Type类型来描述泛型类 ...
- java基础(十一) 枚举类型
枚举类型Enum的简介 1.什么是枚举类型 枚举类型: 就是由一组具有名的值的有限集合组成新的类型.(即新的类). 好像还是不懂,别急,咱们先来看一下 为什么要引入枚举类型 在没有引入枚举类型前,当我 ...
- Java 时间和日期类型的 Hibernate 映射
以下情况下必须显式指定 Hibernate 映射类型 一个 Java 类型可能对应多个 Hibernate 映射类型. 例如: 如果持久化类的属性为 java.util.Date 类型, 对应的 Hi ...
最新文章
- RT-Thread GCC VSCode等开源工具链 在智能小车制作中的应用
- VS2010版快捷键
- 51nod 1004 【快速幂】
- CSDN Markdown编辑器编辑教程
- 训练日志 2019.1.2
- 如何发表高水平论文(转载,非常好)
- Oracle创建一个用户并赋予其他用户表的访问权限
- 在Red Hat Enterprise Linux 5 64-bit安装oracle11g r2
- JavaEE学习12—JDBC(下)
- 【VISIO2016箭头使用】
- 如何把视频kux格式转换mp4?手机怎么观看kux视频
- xlua 转webgl 遇到的一些错误
- ubuntu查看实时网速
- 13-GPIO功能框图
- 大连计算机学校贾佳,大连市第二十四中学信息学奥赛喜报频传
- 计算机相关扩展活动战队名字,2020最新战队名字大全
- Jupyter notebook用谷歌浏览器打开
- ZYNQ从放弃到入门(三)- 中断(一)
- C++:数组、链表与哈希表
- Mysql培训第一天