📅  最后修改于: 2023-12-03 14:42:21.489000             🧑  作者: Mango
java.util.Date
是Java平台提供的日期和时间类之一,它表示瞬间的基本时间单位。使用该类可以表示单个时间点(毫秒级别精度),并支持基本的日期和时间计算和比较操作。
java.util.Date
提供了多个构造方法,用于创建Date实例对象。常见的构造方法有:
Date()
:创建一个当前时间的Date对象。Date(long date)
:使用指定的时间(从1970年1月1日00:00:00 GMT开始计算)创建一个Date对象。Date(int year, int month, int date)
:使用指定的年份、月份和日期创建一个Date对象。Date(int year, int month, int date, int hour, int minute)
:使用指定的年份、月份、日期、小时和分钟创建一个Date对象。Date(int year, int month, int date, int hour, int minute, int second)
:使用指定的年份、月份、日期、小时、分钟和秒创建一个Date对象。getTime()
:获取该Date对象表示的时间(自1970年1月1日00:00:00 GMT以来的毫秒数)。getYear()
:获取该Date对象表示的年份,返回值为该年份减去1900。getMonth()
:获取该Date对象表示的月份,返回值为0至11之间的整数,其中0表示一月,11表示十二月。getDate()
:获取该Date对象表示的日期(一个月中的几号)。getDay()
:获取该Date对象表示的星期几,返回值为0至6之间的整数,其中0表示周日,6表示周六。getHours()
:获取该Date对象表示的小时数(0-23)。getMinutes()
:获取该Date对象表示的分钟数(0-59)。getSeconds()
:获取该Date对象表示的秒数(0-59)。setTime(long time)
:设置该Date对象表示的时间。setYear(int year)
:设置该Date对象表示的年份,需要加上1900。setMonth(int month)
:设置该Date对象表示的月份,取值为0至11之间的整数。setDate(int date)
:设置该Date对象表示的日期(一个月中的几号)。setHours(int hours)
:设置该Date对象表示的小时数(0-23)。setMinutes(int minutes)
:设置该Date对象表示的分钟数(0-59)。setSeconds(int seconds)
:设置该Date对象表示的秒数(0-59)。before(Date date)
:比较该Date对象与指定的Date对象,在时间上是否在指定的Date对象之前。after(Date date)
:比较该Date对象与指定的Date对象,在时间上是否在指定的Date对象之后。compareTo(Date anotherDate)
:比较该Date对象与指定的Date对象,在时间上的早晚关系,返回值为-1、0或1。toString()
:将该Date对象转换为字符串,格式为英文标准时间格式。由于java.util.Date
的实例方法不是线程安全的,因此在多线程场景下,应该考虑使用java.time
或类似的线程安全的日期/时间API。如果必须使用java.util.Date
,则应该使用synchronized
块或java.util.concurrent.atomic.AtomicReference
进行同步。
java.util.Date
是Java平台提供的基本日期和时间类之一,它可以表示单个时间点,并支持基本的日期和时间计算和比较操作。然而,由于线程安全的问题,我们在应用中应该尽量避免使用该类。在Java 8中,已经提供了全新的java.time
包来处理日期和时间,建议使用该包中的类来替代java.util.Date
。