首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Java中不推荐使用的Date方法?

在Java中,有一些不推荐使用的Date方法,这些方法可能存在安全隐患、性能问题或者已经被更新的方法所替代。以下是一些不推荐使用的Date方法:

  1. java.util.Date.getYear():这个方法已经被废弃,因为它返回的年份值是从1900年开始计算的,而不是从1970年开始计算。推荐使用java.util.Calendarjava.time包中的类来获取年份。
  2. java.util.Date.setYear(int year):这个方法已经被废弃,因为它只能设置1900年以后的年份。推荐使用java.util.Calendarjava.time包中的类来设置年份。
  3. java.util.Date.getDate():这个方法已经被废弃,因为它返回的是日期中的日(1-31)。推荐使用java.util.Calendarjava.time包中的类来获取日期。
  4. java.util.Date.setDate(int date):这个方法已经被废弃,因为它只能设置1-31之间的日期。推荐使用java.util.Calendarjava.time包中的类来设置日期。
  5. java.util.Date.getHours():这个方法已经被废弃,因为它返回的是小时数(0-23)。推荐使用java.util.Calendarjava.time包中的类来获取小时数。
  6. java.util.Date.setHours(int hours):这个方法已经被废弃,因为它只能设置0-23之间的小时数。推荐使用java.util.Calendarjava.time包中的类来设置小时数。
  7. java.util.Date.getMinutes():这个方法已经被废弃,因为它返回的是分钟数(0-59)。推荐使用java.util.Calendarjava.time包中的类来获取分钟数。
  8. java.util.Date.setMinutes(int minutes):这个方法已经被废弃,因为它只能设置0-59之间的分钟数。推荐使用java.util.Calendarjava.time包中的类来设置分钟数。
  9. java.util.Date.getSeconds():这个方法已经被废弃,因为它返回的是秒数(0-59)。推荐使用java.util.Calendarjava.time包中的类来获取秒数。
  10. java.util.Date.setSeconds(int seconds):这个方法已经被废弃,因为它只能设置0-59之间的秒数。推荐使用java.util.Calendarjava.time包中的类来设置秒数。
  11. java.util.Date.getTime():这个方法已经被废弃,因为它返回的是自1970年1月1日以来的毫秒数。推荐使用java.util.Calendarjava.time包中的类来获取时间。
  12. java.util.Date.setTime(long time):这个方法已经被废弃,因为它只能设置自1970年1月1日以来的毫秒数。推荐使用java.util.Calendarjava.time包中的类来设置时间。

总之,在Java中,不推荐使用java.util.Date类中的一些方法,因为它们已经被废弃或者存在一些问题。推荐使用java.util.Calendarjava.time包中的类来处理日期和时间。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

JavaDate方法详解

先进行专栏介绍 本专栏是自己学Java旅途,纯手敲代码,自己跟着黑马课程学习,并加入一些自己理解,对代码和笔记 进行适当修改。...希望能对大家能有所帮助,同时也是请大家对我进行监督,对我写代码进行建议,互相学习。 Date方法 Date类是用于表示日期和时间类。它提供了一系列方法来操作日期和时间。...常用方法 1.构造方法 Date():创建一个表示当前日期和时间Date对象。 Date(long milliseconds):根据指定毫秒数创建一个Date对象。...setSeconds(int seconds):设置当前时间秒数。 #### 4、其他方法: toString():返回Date对象字符串表示。...综合案例 代码 import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public

22810

关于 java set,get方法,而为什么推荐直接使用public

我不知道有没有人遇到过,有一段时间,我都觉得那些 set,get用处何在,我直接写一个public直接拿不就行了,多爽,但是随着使用频繁,越来越想去搜索一下这个问题,而不是按照官方推荐,前辈们使用都是建议...这里引入其中一句话: 在任何相互关系,具有关系所涉及各方都遵守边界是十分重要事情,当创建一个类库时,就建立了与客户端程序员之间关系,他们同样也是程序员,但是他们是使用类库来构建应用...如果所有的类成员对任何人都是可用,那么客户端程序员就可以对类做任何事情,而不受约束。即使你希望客户端程序员不要直接操作你某些成员,但是如果没有任何访问控制,将无法阻止此事发生。...综上所述,写到这里,我诞生了一个想法,其实set ,get ,public,对于它们使用完全取决于我们程序员自己,为了让项目之间逻辑更加清晰,有些标准自上而下,慢慢传了下来,无论你使用那种,但是有一个东西是无法避免...补充说明,set字面意思设置,get获取,我们了解一下java面向对象编程封闭性与安全性,private 修饰set get方法方法封闭在了一个特定类,其他类就无法对其变量进行方法,这样就提高了数据安全性

1.4K20

为啥 Java 推荐将 Optional 当做参数使用

一、背景 最近开发过程,身边同事为了实现逻辑复用,定义一个私有公共方法实现逻辑复用,定义函数签名时将上游 Optional 作为参数传递。 IDEA 给出警告,但是并没有讲清楚为什么。...那么,为什么推荐作为参数使用呢? 二、讨论 2.1 为什么不要将 Optional 作为参数 如果将 Optional 当做参数使用,那么本身可传递 null, 依然需要进行判空再使用。...,参数是方法调用 Supplier 也违规,又契合将调用传递目的。...可以使用 guava 包里 Optional类替代。 三、结论 【建议】建议将 Optional 作为参数,容易造成空指针和误解,这和 Optional 目的相违背。...如果是想传递某个调用,请使用 Supplier。 【建议】建议将 Optional 作为属性,非要用建议使用 guava 包 Optional 类。

2.7K20

JavascriptDate.now() 方法Date.UTC() 方法Date.parse() 方法

因为 now() 是Date一个静态函数,所以必须以 Date.now() 形式来使用。 2. ...UTC 方法Date 有两点不同: Date.UTC 方法使用协调世界时代替本地时间。 Date.UTC 方法返回一个时间数值,而不是一个日期对象。...推荐在ES5之前使用Date.parse方法,因为字符串解析完全取决于实现。...该方法在基于字符串值设置日期值时很有用,例如结合使用setTime() 方法和 Date() 构造函数。 parse 方法接受一个表示时间字符串,返回相应时间值。...如果没有指定时区,默认使用本地时区。 GMT 和 UTC 被看作相等。 如果 RFC2822 Section 3.3 格式包含时区信息时,会以本地时区来解析日期字符串。

1.7K50

Date, TimeZone, MongoDB, javadate时区问题

打印new Date(),Fri Aug 12 13:37:51 CST 2016. 显示Asia/Shanghai时区,但是date toString 时区简写却是CST。...还以为jdkdate类有问题,debug date toString发现确实是将Asia/Shanghainame 简写成CST....这个Date是通过记录UTC时间以及偏移量来表示,不同时区只是显示结果不同,但可以相互转换。 之所以迷惑是因为时间使用上会分两个阶段。一个是翻译阶段,一个是比较阶段。...MongoDB时间都是UTC时间,我想要查询10点31之前数据,然后我使用new Date来指定时间,看上去我是想要获取这个时间之前数据,实际上却是UTC 2:31:20之前数据。...因此,如果确定javadriver会自动转换date时区。

4.2K80

什么是线程组,为什么在 Java 推荐使用

线程组是使用 Java 线程进行管理和组织一种模型。...Java 线程组是一个 ThreadGroup 类对象,它充当了一个父容器,可以将同一类线程分成一组,并提供追踪这些线程状态、统计信息及管理这些线程方法。...在线程组,如果发生未捕获异常,可以通过 Thread.UncaughtExceptionHandler 进行处理。 在 Java ,虽然线程组是一种功能强大机制,但实际上并不推荐使用。...在实践,像 Executor 这样 API 已经为线程管理提供了更加强大、可控解决方案,相比之下,线程组已经逐渐退出 Java 中被广泛使用范畴。...因此,在 Java ,线程组已基本过时,推荐使用 Executor 框架等新更实用工具来进行线程管理。

21720

JS IOSiPhoneSafari兼容JavascriptDate()问题

var date = new Date('2016-11-11 11:11:11'); document.write(date); 最近在写一个时间判断脚本,需要将固定好字符串时间转换为时间戳进行比较...,在做时候个人习惯使用chrome作为调试工具, 代码基本完成之后,一切正常; 使用其他浏览器访问,好嘛,IE跟safari都不兼容,返回错误”Invalid Date”。...= new Date(arr[0], arr[1]-1, arr[2], arr[3], arr[4], arr[5]); document.write(date); 终于可以兼容所有浏览器咯,结论:...iPhonesafari无法解释 YYYY-MM-DD HH:mm:ss 或者YYYY/MM/DD HH:mm:ss这样时间格式,而谷歌火狐等浏览器对这样格式做了扩展, iPhonesafari...所支持格式为 YYYY,MM, DD,HH,mm,ss,这个问题纠结我大半天,真的好想把苹果程序员拉出去枪毙10分钟,太TM特立独行了。

2.3K10

为什么建议使用Date,而是使用Java8新时间和日期API?

Java 8:新时间和日期API 在Java 8之前,所有关于时间和日期API都存在各种使用方面的缺陷,因此建议使用时间和日期API,分别从旧时间和日期API缺点以及解决方法Java 8...旧时间和日期API缺陷 Java java.util.Datejava.util.Calendar 类易用性差,不支持时区,而且都不是线程安全。...Date如果格式化,打印出日期可读性差。...和 parse 方法地方进行加锁 => 线程阻塞性能差 使用 ThreadLocal 保证每个线程最多只创建一次 SimpleDateFormat 对象 => 较好方法 Java 8 新时间和日期...API Java 8日期和时间类包含 LocalDate、LocalTime、Instant、Duration 以及 Period,这些类都包含在 java.time 包Java 8 新时间API

1.9K30

Java 为什么推荐在 while 循环中使用 sleep()

前言最近逛 CSDN 看到一篇文章,文章大意是说为什么在循环中推荐使用 sleep 操作,原因在于线程挂起和唤醒会有很大性能消耗,并推荐使用 Timer 及 ScheduledExecutorService...:我们都知道 Java 线程实际对应着操作系统一个线程,对线程挂起和唤醒是一个很耗性能操作,因此我们需要避免对线程进行挂起和唤醒;但还一个重要原因是忙等待,如上文所示 FLAG 变量状态可能永远不会被改变...比如微服务体系,客户端上报实例状态,或者服务端检测客户端状态都会使用定时轮询机制。...在 Java AQS 等待获取锁和线程池任务为空等待新任务时,会使用等待和唤醒操作轮询机制 和 等待和唤醒 一般会结合使用,避免线程频繁挂起和唤醒。...我也将分享一些编程技巧和解决问题方法,以帮助你更好地掌握Java编程。 我鼓励互动和建立社区,因此请留下你问题、建议或主题请求,让我知道你感兴趣内容。

44630

为什么推荐使用 stop、suspend 方法中断线程?

我们知道像stop、suspend这几种中断或者阻塞线程方法在较高java版本已经被标记上了@Deprecated过期标签,那么为什么她们曾经登上了java历史舞台而又渐渐推出了舞台呢?...一、stop落幕 首先stop方法作用是什么呢,用java源码一句注释来了解一下:Forces the thread to stop executing....那么建议使用stop中断线程我们应该怎么去优雅结束一个线程呢,我们可以存java开发者注释窥探到一种解决方案: Many uses of stop should be replaced by code...可以看到java开发者推荐我们使用以下两种方法来优雅停止线程。另外,多线程系列面试题和答案全部整理好了,微信搜索Java技术栈,在后台发送:面试,可以在线阅读。...2.使用interrupt方法中断线程。

77130

为什么推荐使用 stop、suspend 方法中断线程?

java版本已经被标记上了@Deprecated过期标签,那么为什么她们曾经登上了java历史舞台而又渐渐推出了舞台呢?...一、stop落幕 首先stop方法作用是什么呢,用java源码一句注释来了解一下:Forces the thread to stop executing....我们从中可以看出以下几点: stop这种方法本质上是不安全 使用Thread.stop停止线程会导致它解锁所有已锁定监视器,即直接释放当前线程已经获取到所有锁,使得当前线程直接进入阻塞状态 我们举例来看一下上边提到两点...那么建议使用stop中断线程我们应该怎么去优雅结束一个线程呢,我们可以存java开发者注释窥探到一种解决方案: Many uses of stop should be replaced by code...可以看到java开发者推荐我们使用以下两种方法来优雅停止线程。 1.定义一个变量,由目标线程去不断检查变量状态,当变量达到某个状态时停止线程。

47120

Javaclone方法使用

Java所有类都默认继承java.lang.Object类,在java.lang.Object类中有一个方法clone(),该方法在Object定义如下: /** * Class Object...下面通过一个简单实例来演示clone方法使用。...最 后在clone()方法调用了super.clone(),这也意味着无论clone类继承结构是什么样,super.clone()直接或间接调 用了java.lang.Object类clone(...下面再详细解释一下这几点。   ● 最后仔细观察一下Object类clone()一个native方法,native方法效率一般来说都是远高于java非 native方法。...需要注意是,Cloneable接口是包含任何方法,其实这个接口仅仅是一个标志,而且 这个标志也仅仅是针对Object类clone()方法,如果clone类没有实现Cloneable接口,并调用了

71530

javaasList()方法使用

大家好,又见面了,我是你们朋友全栈君。 百融云创笔试: 大家都知道这个方法是将数组转成list,是JDKjava.util包Arrays类静态方法。...大家使用时一定要注意(请看代码和注释,一看就明了了): String s[]={"aa","bb","cc"}; List sList=Arrays.asList(s); for...- - - -"); //objList.remove(0);//asList()返回是arrays私有的终极ArrayList类型,它有set,get,contains方法,但没有增加和删除元素方法...,所以大小固定,会报错 //objList.add(0);//由于asList返回list实现类无add方法,所以会报错 运行结果: aa bb cc 3 – – – – – – –...ArrayUtils类toObject()方法,非常方便,如下: Arrays.asList(ArrayUtils.toObject(i));//上边代码:int i[]={11,22,33};,达到了我们想要效果

44030

java定义数组_java数组三种定义方式_java数组定义及使用方法推荐)…

描述 java数组三种定义方式 java,数组是一种很常用工具,今天我们来说说数组怎么定义 [java] view plain copy /** * 数组三种定义方法 * 1.数组类型[] 数组名...; } } java数组定义及使用方法 下面小编就为大家带来一篇java数组定义及使用方法(推荐)。小编觉得挺不错,现在就分享给大家,也给大家做个参考。...[个数] int score[]=new int[10]; 声明一个元素个数为10整形数组score,同时开辟依靠内存空间工期使用 java,由于整形数据类型占用空间为4个byte,而整个数组score...所以上例占用内存共有4*10=40个字节 数组访问 数组中元素表示方法 想要访问数组里元素可以利用索引来完成,java数组索引标号由10开始,以一个score[10]整形数组为例,score...数组定义及使用方法(推荐)就是小编分享给大家全部内容了,希望能给大家一个参考。

1.3K20

java8java.util.Date, java.sql.Date, java.time.LocalDate 转换异常及处理

参考链接: Java8java.util.StringJoiner java8java.util.Date, java.sql.Date, java.time.LocalDate 转换异常及处理...  /**  *PreparedStatement绑定日期参数时候,如果传入java.util.Date,则会抛出如下异常 *  Caused by: java.lang.ClassCastException...: java.util.Date cannot be cast to java.sql.Date */ ps.setDate(2, (java.sql.Date) startDate);//抛异常 ps.setDate...(2, new java.sql.Date(startDate.getTime()));//正确方法  /**  *利用如下方式将Date类型转换为 java.time.LocalDate 类型时,如果...:1.8.0_172]  *将java.sql.Date 转换成 java.util.Date后,如下方法正常转换  */ LocalDate localSuspendDate = suspendDate.toInstant

1.3K10

你真正了解 Java Date 类吗?以及如何正确使用

JavaDate类为我们提供了一个方便方式来处理时间。本文将为大家介绍JavaDate类,包括其应用场景、优缺点、类代码方法介绍以及测试用例。摘要本文将带领大家了解JavaDate类。...):设置该日期对象表示时间解析:这是JavaDate几个常用方法:now()方法返回当前日期和时间Date对象;getTime()方法返回该Date对象表示时间,以毫秒为单位;setTime...这些方法可以用于获取、设置和比较日期时间。但需要注意是,Date类在Java 8及以后版本已经被弃用,建议使用时间日期API。...这是一个Java类DateTest,其主要功能是测试Java日期(Date)类两个方法:获取当前时间和将日期格式化为指定格式字符串。...同时该类也使用Java字符串类(String)和流类(System.out)。全文小结本文介绍了JavaDate类,包括其简介、源代码解析、应用场景、优缺点分析、类代码方法介绍以及测试用例。

48673
领券