|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.util
类 Date
java.lang.Object java.util.Date
- 所有已实现的接口:
- Serializable, Cloneable, Comparable<Date>
-
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
对象并初始化此对象,以表示分配它的时间(精确到毫秒)。
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
对象并初始化此对象,以表示由year
、month
和date
参数指定的一天的开始时间(本地时间晚上 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
对象并初始化此对象,以表示本地时区中由year
、month
、date
、hrs
和min
参数指定的分钟的开始瞬间。- 参数:
-
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
对象,并初始化此对象,以表示本地时区中由year
、month
、date
、hrs
、min
和sec
参数指定的秒的开始瞬间。- 参数:
-
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()
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)
取代,使用 UTCTimeZone
,后跟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