返回顶部
首页 > 资讯 > 精选 >JAVA中需要谨慎使用Date和Time类
  • 286
分享到

JAVA中需要谨慎使用Date和Time类

2023-06-03 05:06:36 286人浏览 安东尼
摘要

这篇文章将为大家详细讲解有关JAVA中需要谨慎使用Date和Time类,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。AVA里提供的日期和时间类,java.sql.Date和java.sql.Time,只会

这篇文章将为大家详细讲解有关JAVA中需要谨慎使用Date和Time类,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

AVA里提供的日期和时间类,java.sql.Date和java.sql.Time,只会从数据库里读取某部分值,这有时会导致丢失数据。例如一个包含2002/05/22 5:00:57 PM的字段,读取日期时得到的是2002/05/22,而读取时间时得到的是5:00:57 PM.


你需要了解数据库里存储时间的精度。有些数据库,比如MySQL,精度为毫秒,然而另一些数据库,包括oracle,存储SQL DATE类型数据时,毫秒部分的数据是不保存的。以下操作中容易出现不易被发现的BUG:

获得一个JAVA里的日期对象。
从数据库里读取日期
试图比较两个日期对象是否相等。如果毫秒部分丢失,本来认为相等的两个日期对象用Equals方法可能返回false。
java.sql.Timestamp类比java.util.Date类精确度要高。这个类包含了一个getTime()方法,但是它不会返回额外精度部分的数据,因此必须使用getNanos()方法。有毫微秒部分(即额外精度部分)的数值可能比没有这个部分的数值的大一个毫秒。如果你知道你使用的数据库保存了毫秒部分,可以用下面的代码获得的数值:

long time=timestamp.getTime()+timestamp.getNanos()/1000000;
毫微秒的部分就是为什么一个java.sql.Timestamp对象不等于一个java.util.Date对象,而一个java.util.Date对象可能等于一个java.sql.Timestamp对象的原因。这使得equals方法应当保持的对称被打破了。

使用java.sql包中的时间相关的类是重要的,但是它们也可能导致人为的错误。

这是因为,这些类的复杂性虽然已经在javadoc里面清楚的描述了,但是由于这些类看上去很简单而很少有人看这些文档。

关于“JAVA中需要谨慎使用Date和Time类”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

--结束END--

本文标题: JAVA中需要谨慎使用Date和Time类

本文链接: https://www.lsjlt.com/news/232847.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • JAVA中需要谨慎使用Date和Time类
    这篇文章将为大家详细讲解有关JAVA中需要谨慎使用Date和Time类,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。AVA里提供的日期和时间类,java.sql.Date和java.sql.Time,只会...
    99+
    2023-06-03
  • 需要谨慎使用的Linux命令有哪些
    这篇文章主要为大家展示了“需要谨慎使用的Linux命令有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“需要谨慎使用的Linux命令有哪些”这篇文章吧。文中列出的命令绝对不可以运行,即使你觉得...
    99+
    2023-06-16
  • Java中为什么需要慎用异常
    这篇文章给大家分享的是有关Java中为什么需要慎用异常的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。慎用异常在Java软件开发中,经常使用 try-catch 进行错误捕获,但是,try-catch 语句对系统性...
    99+
    2023-06-27
  • Java中的Stringbuild,Date和Calendar类怎么使用
    本篇内容介绍了“Java中的Stringbuild,Date和Calendar类怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Str...
    99+
    2023-07-05
  • Java中Date时间类的使用
    目录 一、java.util.Date实例化介绍         一)、Date对象实例化         二)设置Date对象指定日期 :         三)将日期格式化输出为中文状态 二、方法介绍 三、方法演示 一、java.u...
    99+
    2023-09-01
    java 开发语言
  • Date类如何在Java中使用
    Date类如何在Java中使用?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Date类在JDK1.0中,Date类是唯一的一个代表时间的类,但是由于Date类不便于实现国际化,...
    99+
    2023-05-31
    java date dat
  • Java中Stringbuild,Date和Calendar类的用法详解
    目录Stringbuild类构造方法appendreverseDate类构造方法getTimesetTimeDateFormatSimpleDateFormat构造方法日期对象转换为...
    99+
    2023-05-14
    Java Stringbuild Date Calendar用法 Java Stringbuild Date Calendar Java Stringbuild Java Date Java Cale
  • Java中Date日期时间类具体使用
    目录日期比较使用 SimpleDateFormat 格式化日期日期和时间的格式化编码使用printf格式化日期解析字符串为时间休眠(sleep)Calendar类GregorianC...
    99+
    2023-05-17
    Java Date日期时间类 Java 日期时间类
  • Date与Calendar类如何在Java项目中使用
    本篇文章给大家分享的是有关Date与Calendar类如何在Java项目中使用,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。具体方法如下:public void&nb...
    99+
    2023-05-31
    java calendar date
  • java中CAS使用需要注意什么
    这篇文章将为大家详细讲解有关java中CAS使用需要注意什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Java有哪些集合类Java中的集合主要分为四类:1、List列表:有序的,可重复的;2、Queu...
    99+
    2023-06-14
  • Java中大数据异步编程需要使用哪些数据类型?
    随着大数据时代的到来,对于数据的处理速度提出了更高的要求。在Java中,异步编程可以提高数据处理效率,减少阻塞等待的时间,更好地利用CPU资源。但是在大数据异步编程中,需要使用哪些数据类型呢?本文将为大家介绍相关内容。 Completa...
    99+
    2023-07-06
    大数据 异步编程 数据类型
  • Java中Message类和Queue类如何使用
    Java中Message类和Queue类如何使用,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Message类package com.example....
    99+
    2023-06-17
  • Linux和Unix系统中哪些应用需要使用PHP和JavaScript?
    Linux和Unix系统中有很多应用程序需要使用PHP和JavaScript。PHP和JavaScript是两种不同的编程语言,它们分别用于服务器端和客户端编程。在这篇文章中,我们将介绍Linux和Unix系统中一些使用PHP和JavaSc...
    99+
    2023-07-04
    linux unix javascript
  • 在java中使用static时需要注意哪些问题
    在java中使用static时需要注意哪些问题?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1、使用static方法的时候,只能访问static声明的属性和方法,而非stati...
    99+
    2023-06-06
  • 在java中使用final时需要注意哪些事项
    在java中使用final时需要注意哪些事项?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Java的特点有哪些Java的特点有哪些1.Java语言作为静态面向对象编程语言的代表...
    99+
    2023-06-14
  • 在java中使用static是需要注意哪些事项
    在java中使用static是需要注意哪些事项?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。java基本数据类型有哪些Java的基本数据类型分为:1、整数类型,用来表示整数...
    99+
    2023-06-14
  • 在java中使用Sorted时需要注意哪些问题
    这期内容当中小编将会给大家带来有关在java中使用Sorted时需要注意哪些问题,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Java是什么Java是一门面向对象编程语言,可以编写桌面应用程序、Web应用...
    99+
    2023-06-14
  • 在java中使用subList时需要注意哪些问题
    在java中使用subList时需要注意哪些问题?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。1. 使用Arrays.asList的注意事项1.1 可能会踩的坑先来看下Ar...
    99+
    2023-06-06
  • Java中使用image类要注意哪些事项
    在Java中使用Image类时,需要注意以下几点事项: 图片文件的路径:确保图片文件的路径是正确的,并且能够被程序正确地访问到。...
    99+
    2024-03-07
    Java
  • 你需要使用Java IDE和NumPy来编写Windows应用程序吗?
    在开发Windows应用程序时,选择适合你的编程语言和工具是非常重要的。如果你是一名Java开发者,那么使用Java IDE和NumPy来编写Windows应用程序可能是一个不错的选择。本文将探讨为什么Java IDE和NumPy是适合编写...
    99+
    2023-09-06
    ide windows numpy
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作