所有类


java.util
类 Date

java.lang.Object
  继承者 java.util.Date
所有已实现的接口:
Serializable, Cloneable, Comparable<Date>
直接已知子类:
Date, Time, Timestamp

public class Date
   
   
   
   
   
extends Object
implements Serializable, Cloneable, Comparable<Date>

Date 表示特定的瞬间,精确到毫秒。

在 JDK 1.1 之前,类 Date 有两个其他的函数。它允许把日期解释为年、月、日、小时、分钟和秒值。它也允许格式化和分析日期字符串。不过,这些函数的 API 不易于实现国际化。从 JDK 1.1 开始,应该使用 Calendar 类实现日期和时间字段之间转换,使用 DateFormat 类来格式化和分析日期字符串。Date 中的相应方法已废弃。

尽管 Date 类打算反映协调世界时 (UTC),但无法做到如此准确,这取决于 Java 虚拟机的主机环境。当前几乎所有操作系统都假定 1 天 = 24 × 60 × 60 = 86400 秒。但对于 UTC,大约每一两年出现一次额外的一秒,称为“闰秒”。闰秒始终作为当天的最后一秒增加,并且始终在 12 月 31 日或 6 月 30 日增加。例如,1995 年的最后一分钟是 61 秒,因为增加了闰秒。大多数计算机时钟不是特别的准确,因此不能反映闰秒的差别。

一些计算机标准是按照格林威治标准时 (GMT) 定义的,格林威治标准时和世界时 (UT) 是相等的。GMT 是标准的“民间”名称;UT 是相同标准的“科学”名称。UTC 和 UT 的区别是:UTC 是基于原子时钟的,UT 是基于天体观察的,两者在实际应用中难分轩轾。因为地球的旋转不是均匀的(它以复杂的方式减速和加速),所以 UT 始终不是均匀地流过。闰秒是根据需要引入 UTC 的,以便把 UTC 保持在 UT1 的 0.9 秒之内,UT1 是应用了某些更正的 UT 版本。还有其他的时间和日期系统;例如,基于卫星的全球定位系统 (GPS) 使用的时间刻度与 UTC 同步,但没有 针对闰秒进行调整。有关更多信息的一个有趣来源是美国海军天文台,特别是 Directorate of Time 的网址:

     http://tycho.usno.navy.mil
 

还有它们对 "Systems of Time" 的定义,网址为:

     http://tycho.usno.navy.mil/systime.html
 

在类 Date 所有可以接受或返回年、月、日期、小时、分钟和秒值的方法中,将使用下面的表示形式:

  • 年份 y 由整数 y - 1900 表示。
  • 月份由从 0 至 11 的整数表示;0 是一月、1 是二月等等;因此 11 是十二月。
  • 日期(一月中的某天)按通常方式由整数 1 至 31 表示。
  • 小时由从 0 至 23 的整数表示。因此,从午夜到 1 a.m. 的时间是 0 点,从中午到 1 p.m. 的时间是 12 点。
  • 分钟按通常方式由 0 至 59 的整数表示。
  • 秒由 0 至 61 的整数表示;值 60 和 61 只对闰秒发生,尽管那样,也只用在实际正确跟踪闰秒的 Java 实现中。于按当前引入闰秒的方式,两个闰秒在同一分钟内发生是极不可能的,但此规范遵循 ISO C 的日期和时间约定。

在所有情形中,针对这些目的赋予方法的参数不需要在指定的范围内;例如,可以把日期指定为 1 月 32 日,并把它解释为 2 月 1 日的相同含义。

从以下版本开始:
JDK1.0
另请参见:
DateFormat, Calendar, TimeZone, 序列化表格

构造方法摘要
Date()
          分配 Date 对象并初始化此对象,以表示分配它的时间(精确到毫秒)。
Date(int year, int month, int date)
          已过时。 从 JDK 1.1 开始,由 Calendar.set(year + 1900, month, date)GregorianCalendar(year + 1900, month, date) 取代。
Date(int year, int month, int date, int hrs, int min)
          已过时。 从 JDK 1.1 开始,由 Calendar.set(year + 1900, month, date, hrs, min)GregorianCalendar(year + 1900, month, date, hrs, min) 取代。
Date(int year, int month, int date, int hrs, int min, int sec)
          已过时。 从 JDK 1.1 开始,由 Calendar.set(year + 1900, month, date, hrs, min, sec)GregorianCalendar(year + 1900, month, date, hrs, min, sec) 取代。
Date(long date)
          分配 Date 对象并初始化此对象,以表示自从标准基准时间(称为“历元(epoch)”,即 1970 年 1 月 1 日 00:00:00 GMT)以来的指定毫秒数。
Date(String s)
          已过时。 从 JDK 1.1 开始,由 DateFormat.parse(String s) 取代。
 
方法摘要
 boolean after(Date when)
          测试此日期是否在指定日期之后。
 boolean before(Date when)
          测试此日期是否在指定日期之前。
 Object clone()
          返回此对象的副本。
 int compareTo(Date anotherDate)
          比较两个日期的顺序。
 boolean equals(Object obj)
          比较两个日期的相等性。
 int getDate()
          已过时。 从 JDK 1.1 开始,由 Calendar.get(Calendar.DAY_OF_MONTH) 取代。
 int getDay()
          已过时。 从 JDK 1.1 开始,由 Calendar.get(Calendar.DAY_OF_WEEK) 取代。
 int getHours()
          已过时。 从 JDK 1.1 开始,由 Calendar.get(Calendar.HOUR_OF_DAY) 取代。
 int getMinutes()
          已过时。 从 JDK 1.1 开始,由 Calendar.get(Calendar.MINUTE) 取代。
 int getMonth()
          已过时。 从 JDK 1.1 开始,由 Calendar.get(Calendar.MONTH) 取代。
 int getSeconds()
          已过时。 从 JDK 1.1 开始,由 Calendar.get(Calendar.SECOND) 取代。
 long getTime()
          返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数。
 int getTimezoneOffset()
          已过时。 从 JDK 1.1 开始,由 -(Calendar.get(Calendar.ZONE_OFFSET) + Calendar.get(Calendar.DST_OFFSET)) / (60 * 1000) 取代。
 int getYear()
          已过时。 从 JDK 1.1 开始,由 Calendar.get(Calendar.YEAR) - 1900 取代。
 int hashCode()
          返回此对象的哈希码值。
static long parse(String s)
          已过时。 从 JDK 1.1 开始,由 DateFormat.parse(String s) 取代。
 void setDate(int date)
          已过时。 从 JDK 1.1 开始,由 Calendar.set(Calendar.DAY_OF_MONTH, int date) 取代。
 void setHours(int hours)
          已过时。 从 JDK 1.1 开始,由 Calendar.set(Calendar.HOUR_OF_DAY, int hours) 取代。
 void setMinutes(int minutes)
          已过时。 从 JDK 1.1 开始,由 Calendar.set(Calendar.MINUTE, int minutes) 取代。
 void setMonth(int month)
          已过时。 从 JDK 1.1 开始,由 Calendar.set(Calendar.MONTH, int month) 取代。
 void setSeconds(int seconds)
          已过时。 从 JDK 1.1 开始,由 Calendar.set(Calendar.SECOND, int seconds) 取代。
 void setTime(long time)
          设置此 Date 对象,以表示 1970 年 1 月 1 日 00:00:00 GMT 以后 time 毫秒的时间点。
 void setYear(int year)
          已过时。 从 JDK 1.1 开始,由 Calendar.set(Calendar.YEAR, year + 1900) 取代。
 String toGMTString()
          已过时。 从 JDK 1.1 开始,由 DateFormat.format(Date date) 取代,使用 GMT TimeZone
 String toLocaleString()
          已过时。 从 JDK 1.1 开始,由 DateFormat.format(Date date) 取代。
 String toString()
          把此 Date 对象转换为以下形式的 String: dow mon dd hh:mm:ss zzz yyyy 其中: dow 是一周中的某一天 (Sun, Mon, Tue, Wed, Thu, Fri, Sat)。
static long UTC(int year, int month, int date, int hrs, int min, int sec)
          已过时。 从 JDK 1.1 开始,由 Calendar.set(year + 1900, month, date, hrs, min, sec)GregorianCalendar(year + 1900, month, date, hrs, min, sec) 取代,使用 UTC TimeZone,后跟 Calendar.getTime().getTime()
 
从类 java.lang.Object 继承的方法
finalize, getClass, notify, notifyAll, wait, wait, wait
 

构造方法详细信息

Date

public Date()
分配 Date 对象并初始化此对象,以表示分配它的时间(精确到毫秒)。

另请参见:
System.currentTimeMillis()

Date

public Date(long date)
分配 Date 对象并初始化此对象,以表示自从标准基准时间(称为“历元(epoch)”,即 1970 年 1 月 1 日 00:00:00 GMT)以来的指定毫秒数。

参数:
date - 自 1970 年 1 月 1 日 00:00:00 GMT 以来的毫秒数。
另请参见:
System.currentTimeMillis()

Date

@Deprecated
public Date(int year,
                       int month,
                       int date)
已过时。 从 JDK 1.1 开始,由 Calendar.set(year + 1900, month, date)GregorianCalendar(year + 1900, month, date) 取代。

分配 Date 对象并初始化此对象,以表示由 yearmonthdate 参数指定的一天的开始时间(本地时间晚上 12 时)。

参数:
year - 减 1900 的年份。
month - 0-11 的月份。
date - 一月中 1-31 之间的某一天。
另请参见:
Calendar

Date

@Deprecated
public Date(int year,
                       int month,
                       int date,
                       int hrs,
                       int min)
已过时。 从 JDK 1.1 开始,由 Calendar.set(year + 1900, month, date, hrs, min)GregorianCalendar(year + 1900, month, date, hrs, min) 取代。

分配 Date 对象并初始化此对象,以表示本地时区中由 yearmonthdatehrsmin 参数指定的分钟的开始瞬间。

参数:
year - 减 1900 的年份。
month - 0-11 之间的月份。
date - 一月中 1-31 之间的某一天。
hrs - 0-23 之间的小时数。
min - 0-59 之间的分钟数。
另请参见:
Calendar

Date

@Deprecated
public Date(int year,
                       int month,
                       int date,
                       int hrs,
                       int min,
                       int sec)
已过时。 从 JDK 1.1 开始,由 Calendar.set(year + 1900, month, date, hrs, min, sec)GregorianCalendar(year + 1900, month, date, hrs, min, sec) 取代。

分配 Date 对象,并初始化此对象,以表示本地时区中由 yearmonthdatehrsminsec 参数指定的秒的开始瞬间。

参数:
year - 减 1900 的年份。
month - 0-11 之间的月份。
date - 一月中 1-31 之间的某一天。
hrs - 0-23 之间的小时数。
min - 0-59 之间的分钟数。
sec - 0-59 之间的秒数。
另请参见:
Calendar

Date

@Deprecated
public Date(String s)
已过时。 从 JDK 1.1 开始,由 DateFormat.parse(String s) 取代。

分配 Date 对象并初始化此对象,以表示字符串 s 指出的日期和时间,就像通过 parse(java.lang.String) 方法解释一样。

参数:
s - 日期的字符串表示形式。
另请参见:
DateFormat, parse(java.lang.String)
方法详细信息

clone

public Object clone()
返回此对象的副本。

覆盖:
Object 中的 clone
返回:
此实例的一个克隆。
另请参见:
Cloneable

UTC

@Deprecated
public static long UTC(int year,
                                  int month,
                                  int date,
                                  int hrs,
                                  int min,
                                  int sec)
已过时。 从 JDK 1.1 开始,由 Calendar.set(year + 1900, month, date, hrs, min, sec)GregorianCalendar(year + 1900, month, date, hrs, min, sec) 取代,使用 UTC TimeZone,后跟 Calendar.getTime().getTime()

根据参数确定日期和时间。这些参数被解释为年份、月份、月中某一天、一天中的某一小时、小时中某一分钟和分钟中的某一秒。除了相对于 UTC 而不是本地时区解释这些参数之外,该方法与带 6 个参数的 Date 构造方法完全相同。该方法将返回指示的时间,用该时间与历元(1970 年 1 月 1 日,00:00:00 GMT)的时间差来表示(以毫秒为单位)。

参数:
year - 减 1900 的年份。
month - 0-11 之间的月份。
date - 一月中 1-31 之间的某一天。
hrs - 0-23 之间的小时数。
min - 0-59 之间的分钟数。
sec - 0-59 之间的秒数。
返回:
对于参数指定的日期和时间,返回自 1970 年 1 月 1 日 00:00:00 GMT 以来的毫秒数。
另请参见:
Calendar

微信小程序

微信扫一扫体验

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部