在web开发中,避免不了对日期的操作,就几种常见的日期操作做个总结(部分参考网络,在此表示感谢):

java.util.Date、java.sql.Datej、java.sql.Timestamp

java.lang.Object
....|__java.util.Date
..........|__java.sql.Date/java.sql.Timestamp /java.sql.Time

....|__java.security.Timestamp

java.util.Date日期格式为:年月日时分秒
java.sql.Date日期格式为:年月日[只存储日期数据不存储时间数据
java.sql.Timestamp日期格式为:年月日时分秒纳秒(毫微秒)

关系:

java.util.Date这个类是java.sql.Date, java.sql.Time, java.slq.Timestamp这三个类的父类。这三个类对java.util.Date类进行了包装。

联系:

java.sql.Date类屏蔽了java.util.Date类的时间有关的方法(形如:hh:mm:ss),因此,不可以通过这个类访问时间有关的信息,比如,如果你通过sqlDate.getHour()方法去访问小时信息,此方法会抛出一个[IllegalArgumentException](http://gceclub.sun.com.cn/Java_Docs/html/zh_CN/api/java/lang/IllegalArgumentException.html "java.lang 中的类")``异常。这是因为java.sql.Date在继承java.util.Date类的时候对父类进行了重写,禁用了时间访问的方法。之所以这么处理,是为了和数据库的Date数据类型相匹配,数据库的Date数据类行只是保存日期有关的字段。

Java.sql.Time类屏蔽了java.util.Date的日期有关的字段(形如:yyyy-MM-dd),因此,不能通过这个类访问日期有关的信息,比如:如果你通过sqlTime.getYear()方法去获取年有关的信息,此方法会抛出一个[IllegalArgumentException](http://gceclub.sun.com.cn/Java_Docs/html/zh_CN/api/java/lang/IllegalArgumentException.html "java.lang 中的类")``异常。这是因为java.sql.Time在继承java.util.Date类的时候对父类进行了重写,禁用了日期访问的方法。之所以这么处理,是为了和数据库的Time数据类型相匹配,数据库的Time数据类行只是保存时间有关的字段。

Java.sql.Timestamp``字段则对java.util.Date这个类进行了扩充,它在java.util.Date类的基础上增加了毫秒的时间访问控制,因此,你可以通过getNanos()方法去获取时间的毫微秒数(注意此处获取的时间是以毫微秒为单位的,1秒等于十亿毫微秒),同样的,这也是为了和数据库中的Timestamp数据类型进行匹配。

理清了上述四个类的关系,那么java.util.Date和java.util.Calendar类有什么关系呢?

Java.util.Calendar类是java.util.Date类的一个更加深入,更加全面的替代。Java.util.Calendar类支持java.util.Date的所有功能,此外,Calendar还引入了多语言,多区域的特性,可以根据需要获取不同区域,不同时区的时间,Calendar还增加了比Date更加方便和快捷的许多操作,如获取一年当中的第几个星期,各个月的天数等便捷的方法。
作者:Grady_Camel
来源:简书

java date只保留年月日_java.util.Date、java.sql.Date、java.sql.Timestamp区别和总结相关推荐

  1. java date只保留年月日_Java日期时间API系列14-----Jdk8中日期API类,日期计算1,获取年月日时分秒等...

    通过Java日期时间API系列8-----Jdk8中java.time包中的新的日期时间API类的LocalDate源码分析 ,可以看出java8设计非常好,实现接口Temporal, Tempora ...

  2. java date只保存年月日_java date 只保留年月日

    java date 只保留年月日 [2021-01-30 22:42:23]  简介: php去除nbsp的方法:首先创建一个PHP代码示例文件:然后通过"preg_replace(&quo ...

  3. php只获取年月日,php怎么实现date只显示年月日

    php怎么实现date只显示年月日 发布时间:2020-06-11 11:53:56 来源:亿速云 阅读:185 作者:Leah php怎么实现date只显示年月日?针对这个问题,今天小编总结了这篇文 ...

  4. java date 时分秒丢失_JAVA util date转 sql DATE 时分秒丢失

    Java中有两个Date类,一个是java.util.Date通常情况下用它获取当前时间或构造时间,另一个是java.sql.Date是针对SQL语句使用的,它只包含日期而没有时间部分.两个类型的时间 ...

  5. java 日期只计算年月日大小_Java按自然月计算两个日期相差的年月日?

    曾经我以为计算两个日期之差很简单,在给我的团队成员分配任务时,也觉得就是调用一个方法的问题,可是当我发现结果老是不对时,才发现原来JDK 提供的API中根本没有这样的方法,我也很恼火,也怪不得不少牛人 ...

  6. java只保留整数_java 除法运算只保留整数位的4种方式

    1.情景展示 根据提供的毫秒数进行除法运算,如果将毫秒数转换成小时,小时数不为0,则只取整数位,依此类推... 2.情况分析 可以使用3个函数实现 Math.floor(num)  只保留整数位 Ma ...

  7. java只保留整数_java 除法运算只保留整数位的3种方式

    1.情景展示 根据提供的毫秒数进行除法运算,如果将毫秒数转换成小时,小时数不为0,则只取整数位,依此类推... 2.情况分析 可以使用3个函数实现 Math.floor(num)  只保留整数位 Ma ...

  8. java 如何只暴露接口_Java并发异步编程,原来十个接口的活现在只需要一个接口就搞定...

    什么?对你没有听错,也没有看错 ..多线程并发执行任务,取结果归集~~ 不再忧愁-. 引言 先来看一些APP的获取数据,诸如此类,一个页面获取N多个,多达10个左右的一个用户行为数据,比如:点赞数,发 ...

  9. java 取当前时间年月日_Java获取当前时间年月日的方法

    本文实例为大家分享了java获取当前时间年月日的具体代码,供大家参考,具体内容如下 import java.text.ParseException; import java.text.SimpleDa ...

最新文章

  1. 如何下载DELL服务器VMware ESXi镜像
  2. ScrollView的使用
  3. 矩阵乘法无需相乘,速度提升100倍,MIT开源最新近似算法 | ICML 2021
  4. linux存储--mmap与sendfile(十七)
  5. 移动端开发——javascript
  6. 通过boundingRectWithSize:options:attributes:context:计算文本尺寸
  7. android中requestFocus 以及与setFocusable的区别
  8. java读加密脚本_尝试将wlst脚本嵌入到java类中时发生加密错误
  9. SQL已知现在的某一天求去年的同一天或去年同月份的第一天
  10. Unity URP/SRP 渲染管线浅入深出【匠】
  11. openstack 分布式路由器dvr
  12. 怦然心动(Flipped)-5
  13. ASP.NET WEBAPI实现微信接入验证
  14. 汽车UDS诊断详解及Vector相关工具链使用说明——2.3.2 故障码状态(statusOfDTC)详解
  15. pdf文件怎么缩小兆数
  16. cGAN/cDCGAN,MNIST数据集初体验(内含原理,代码)
  17. 概率神经网络(PNN)
  18. JAVA的三大特性(举例说明)
  19. Java——Map集合
  20. 如何激活win10家庭版?这个方法超管用

热门文章

  1. win10系统怎么写java_win10系统制作java文本的操作方法
  2. opengl学习笔记(六)
  3. 红橙Darren视频笔记 代理模式 动态代理和静态代理
  4. 网页连接的服务器失败是怎么回事啊,网页怎么连接服务器失败
  5. Ubuntu18.04上手配置入门指南
  6. poj 3026 BorgMaze 最小生成树Kruskal、Prim(Prim VS报错待解决
  7. No dashboards are active for the current data set. 解决tensorboard无法启动和显示问题
  8. jupyter notebook如何打开其他文件夹下的iqynb文件
  9. Spark排错与优化
  10. JAVA :RESTLET开发实例(一)基于JAX-RS的REST服务