常用类 java.util.Date

来源:互联网 发布:c语言乘法游戏编程 编辑:程序博客网 时间:2024/05/16 01:59
2005-12-06 23:21:16

字体变小 字体变大

类 java.util.Date

java.lang.Object   |   +----java.util.Date

public class Date
extends Object
implements Serializable, Cloneable
下列类的父类:
Date, Time, Timestamp

Date 描述了一个精度为毫秒的特定时间实例。

JDK 1.1 以前的版本,类 Date 有两个附加的功能。 它允许将日期解释为年、月、日、时、分和秒值。也允许对日期字符串进行格式化和分析。不幸的是,这些功能的 API 并不遵从国际化惯例。作为 JDK 1.1 的类,Calendar 类用于日期和时间域之间的转换,DateFormat 类用于对日期字符串进行格式化和分析。建议不要使用 Date 类中相应方法。

尽管 Date 类表示通用协调时间 (UTC) ,但它不能确切的表示它,这取决于 Java 虚拟机的主机环境。 在任何情况下,几乎所有现代的操作系统都假设 1 天 = 24 × 60 × 60 = 86400 秒。但是在 UTC 中,每一两年就会有附加的一秒,称为“闰秒”。 闰秒总是作为一天的最后一秒被加入,并且总是加在 11 月 31 日或 6 月 30 日。 例如,由于添加了闰秒,1995 年的最后一分钟长为 61 秒。 大多数的计算机时钟都不足以精确到能够反映出闰秒的差别。

有些计算机标准定义为格林威治标准时间 (GMT),它同国际标准时间 (UT) 是等价的。GMT 是标准的“通俗”名称;UT 是该标准的“科学”名称。 UTC 和 UT 之间的区别是 UTC 是基于原子时钟的,而 UT 是基于宇宙观测,这在实际使用中只是一个细微的不可见的差别。因为地球的转速不是固定的 ( 它以许多复杂的方式加速或减速 ),UT 并不总是固定的方式流逝的。将闰秒引入 UTC ,为的是使 UTC 在 UT1 的 0.9 秒的误差范围内, UT1 是 UT 的修改版。还有其它的时间和日期系统;例如,基于卫星全球定位系统 (GPS) 使用的时标是与 UTC 相同的,但它并对闰秒进行调整。一个有趣的未来信息来源是美国海军天文台,特别是地址为:

    http://tycho.usno.navy.mil
的时间管理委员会和

他们的地址为:

    http://tycho.usno.navy.mil/systime.html
的“时间系统”定义。

在所有接受或返回年、月、日、时、分和秒值的 Date 类方法中使用下列表示法:

  • year y 由整数 y - 1900 表示。
  • month 由 0 到 11 间的一个整数表示;0 表示一月,1 表示二月等等;11 表示 十二月。
  • 通常的方式下,日 ( 一月中的日 ) 由 1 到 31 之间的一个整数表示。
  • hour 由 0 到 23 之间的一个整数表示。所以,从午夜到凌晨 1 点,hour 为 0,从中午到下午 1 点,hour 为 12。
  • 通常的方式下, minite 由 0 到 59 之间的一个整数表示。
  • second 是 0 到 60 之间的一个整数表示;数值 60 只用于跳跃秒数并且只用于能够正确跟踪闰秒的 Java 实现中。

在任何情况下,传给方法的参数不能超出特定的范围;例如,一个日期可能被指定为 1 月 32 日,它将被解释为 2 月 1 日。

来自:
JDK1.0
参见:
DateFormat, Calendar, TimeZone

构造子索引

Date()
分配一个 Date 对象并将它初始化,使它表示根据最近的毫秒时间测定的分配的时间。
Date(int, int, int)
分配一个 Date 对象并将它初始化,使它表示由参数 yearmonthdate 指定的本地时间一天的开始,即午夜。 不推荐使用该方法。
Date(int, int, int, int, int)
分配一个 Date 对象并将它初始化,使它表示由参数 yearmonthdatehrsmin 指定的日期特定的本地时间的时、分。 不推荐使用该方法。
Date(int, int, int, int, int, int)
分配一个 Date 对象并将它初始化,使它表示由参数 yearmonthdatehrsminsec 指定的日期特定的本地时间的时、分、秒。 不推荐使用该方法。
Date(long)
分配 Date 对象并初始化它,表示从 GMT 1970 年 1 月 1 日 00:00:00 起指定的毫秒数。
Date(String)
分配一个 Date 对象并将它初始化,使它表示由字符串 s 指定的日期和时间,该字符串由 parse 方法解释。 不推荐使用该方法。

方法索引

after(Date)
测试该日期是否在某指定的日期之后。
before(Date)
测试该日期是否在某指定的日期之前。
equals(Object)
比较两个日期。
getDate()
返回该日期表示的一月中的日。 不推荐使用该方法。
getDay()
返回该日期表示的星期。 不推荐使用该方法。
getHours()
返回该日期表示的时。 不推荐使用该方法。
getMinutes()
返回该日期表示的分。 不推荐使用该方法。
getMonth()
返回该日期表示的月。 不推荐使用该方法。
getSeconds()
返回该日期表示的秒。 不推荐使用该方法。
getTime()
返回该日期表示的从 GMT 1970 年 1 月 1 日 00:00:00 起的毫秒数。
getTimezoneOffset()
返回本地时区的偏移量。 不推荐使用该方法。
getYear()
返回该日期表示的年,并减去 1900。 不推荐使用该方法。
hashCode()
返回该对象的散列码。
parse(String)
给定一个表示时间的字符串,分析它并返回时间值。 不推荐使用该方法。
setDate(int)
将一月中的日设置为指定的数值。 不推荐使用该方法。
setHours(int)
将该日期的时设置为指定的数值。 不推荐使用该方法。
setMinutes(int)
将该日期的分设置为指定的数值。 不推荐使用该方法。
setMonth(int)
将该日期的月设置为指定的数值。 不推荐使用该方法。
setSeconds(int)
将该日期的秒设置为指定的数值。 不推荐使用该方法。
setTime(long)
设置日期表示从 GMT 1970 年 1 月 1 日 00:00:00 起的毫秒数。
setYear(int)
设置该日期的年为指定数值加 1900。 不推荐使用该方法。
toGMTString()
创建该日期的字符串表示。 不推荐使用该方法。
toLocaleString()
以依赖实现的形式创建该日期的字符串表示。 不推荐使用该方法。
toString()
返回该日期规范的字符串表示。
UTC(int, int, int, int, int, int)
根据参数确定日期和时间。 不推荐使用该方法。

构造子

Date
 public Date()
分配一个 Date 对象并将它初始化,使它表示根据最近的毫秒测定的分配的时间。

参见:
currentTimeMillis
Date
 public Date(long date)
分配 Date 对象并初始化它,表示从 GMT 1970 年 1 月 1 日 00:00:00 起指定的毫秒数。

参数:
date - 从 GMT 1970 年 1 月 1 日 00:00:00 起的毫秒数。
参见:
currentTimeMillis
Date
 public Date(int year,             int month,             int date)
注意:不推荐使用 Date() 方法。 在 JDK 1.1 版中,用 Calendar.set(year + 1900, month, date)GregorianCalendar(year + 1900, month, date) 代替。

分配一个 Date 对象并将它初始化,使它表示由参数 yearmonthdate 指定的本地时间一天的开始,即午夜。

参数:
year - 年数减 1900。
month - 在 0-11 之间的月。
date - 在 1-31 之间的日。
参见:
Calendar
Date
 public Date(int year,             int month,             int date,             int hrs,             int min)
注意:不推荐使用 Date() 方法。 在 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
 public Date(int year,             int month,             int date,             int hrs,             int min,             int sec)
注意:不推荐使用 Date() 方法。 在 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
 public Date(String s)
注意:不推荐使用 Date() 方法。 在 JDK 1.1 版中,用 DateFormat.parse(String s) 代替。

分配一个 Date 对象并将它初始化,使它表示由字符串 s 指定的日期和时间,该字符串由 parse 方法解释。

参数:
s - 该日期的字符串表示。
参见:
DateFormat, parse

方法

UTC
 public static long UTC(int year,                        int month,                        int date,                        int hrs,                        int min,                        int sec)
注意:不推荐使用 UTC() 方法。 在 JDK 1.1 版中,用 Calendar.set(year + 1900, month, date, hrs, min, sec)GregorianCalendar(year + 1900, month, date, hrs, min, sec),在 Calendar.getTime().getTime() 方法之后使用一个 UTC TimeZone

根据参数确定日期和时间。 参数根据 UTC 解释,而不是根据本地时区解释。

参数:
year - 年数减 1900。
month - 在 0-11 之间的月。
date - 在 1-31 之间的日。
hrs - 在 0-23 之间的时。
min - 在 0-59 之间的分。
sec - 在 0-59 之间的秒。
返回值:
该日期和时间的由参数指定的从 GMT 1970 年 1 月 1 日 00:00:00 起的毫秒数。
参见:
Calendar
parse
 public static long parse(String s)
注意:不推荐使用 parse() 方法。 在 JDK 1.1 版中,用 DateFormat.parse(String s) 代替。

给定一个表示时间的字符串,分析它并返回时间值。 该方法识别大部分标准语法。

它接受许多种语法;特别的,它能识别 IETF 标准日期句法:"Sat, 12 Aug 1995 13:30:00 GMT"。 它能理解美洲大陆的时区缩写,但在一般的使用中,必须使用偏移量:"Sat, 12 Aug 1995 13:30:00 GMT+0430" ( 在格林威治子午线西 4 小时 30 分 )。如果没有指定时区,假定为本地时区。 GMT 和 UTC 被认为是等价的。

参数:
s - 作为日期进行分析的字符串。
返回值:
由字符串参数表示的从 GMT 1970 年 1 月 1 日 00:00:00 起的毫秒数。
参见:
DateFormat
getYear
 public int getYear()
注意:不推荐使用 getYear() 方法。 在 JDK 1.1 版中,用 Calendar.get(Calendar.YEAR) - 1900 代替。

返回该日期表示的年,并减去 1900。

返回值:
该日期表示的年,并减去 1900。
参见:
Calendar
setYear
 public void setYear(int year)
注意:不推荐使用 setYear() 方法。 在 JDK 1.1 版中,用 Calendar.set(Calendar.YEAR, year + 1900) 代替。

设置该日期的年为指定数值加 1900。

参数:
year - 年值。
参见:
Calendar
getMonth
 public int getMonth()
注意:不推荐使用 getMonth() 方法。 在 JDK 1.1 版中,用 Calendar.get(Calendar.MONTH) 代替。

返回该日期表示的月。 返回值在 011 之间,0 表示一月。

返回值:
该日期表示的月。
参见:
Calendar
setMonth
 public void setMonth(int month)
注意:不推荐使用 setMonth() 方法。 在 JDK 1.1 版中,用 Calendar.set(Calendar.MONTH, int month) 代替。

将该日期的月设置为指定的数值。

参数:
month - 在 0-11 之间的月值。
参见:
Calendar
getDate
 public int getDate()
注意:不推荐使用 getDate() 方法。 在 JDK 1.1 版中,用 Calendar.get(Calendar.DAY_OF_MONTH) 代替。

返回该日期表示的一月中的日。 返回值在 131 之间。

返回值:
该日期表示的一月中的日。
参见:
Calendar
setDate
 public void setDate(int date)
注意:不推荐使用 setDate() 方法。 在 JDK 1.1 版中,用 Calendar.set(Calendar.DAY_OF_MONTH, int date) 代替。

将一月中的日设置为指定的数值。

参数:
date - 在 1-31 之间的月值。
参见:
Calendar
getDay
 public int getDay()
注意:不推荐使用 getDay() 方法。 在 JDK 1.1 版中,用 Calendar.get(Calendar.DAY_OF_WEEK) 代替。

返回该日期表示的星期。 返回值在 06之间,0 表示星期天。

返回值:
该日期表示的星期。
参见:
Calendar
getHours
 public int getHours()
注意:不推荐使用 getHours() 方法。 在 JDK 1.1 版中,用 Calendar.get(Calendar.HOUR_OF_DAY) 代替。

返回该日期表示的时。 返回值在 023 之间,0 表示午夜。

返回值:
该日期表示的时。
参见:
Calendar
setHours
 public void setHours(int hours)
注意:不推荐使用 setHours() 方法。 在 JDK 1.1 版中,用 Calendar.set(Calendar.HOUR_OF_DAY, int hours) 代替。

将该日期的时设置为指定的数值。

参数:
hours - 小时值。
参见:
Calendar
getMinutes
 public int getMinutes()
注意:不推荐使用 getMinutes() 方法。 在 JDK 1.1 版中,用 Calendar.get(Calendar.MINUTE) 代替。

返回该日期表示的分。 返回值在 059 之间。

返回值:
该日期表示的分。
参见:
Calendar
setMinutes
 public void setMinutes(int minutes)
注意:不推荐使用 setMinutes() 方法。 在 JDK 1.1 版中,用 Calendar.set(Calendar.MINUTE, int minutes) 代替。

将该日期的分设置为指定的数值。

参数:
minutes - 分钟值。
参见:
Calendar
getSeconds
 public int getSeconds()
注意:不推荐使用 getSeconds() 方法。 在 JDK 1.1 版中,用 Calendar.get(Calendar.SECOND) 代替。

返回该日期表示的秒。 返回值在 060 之间。 数值 60 只出现在计算闰秒的 Java Virtual Machine 中。

返回值:
该日期表示的秒数。
参见:
Calendar
setSeconds
 public void setSeconds(int seconds)
注意:不推荐使用 setSeconds() 方法。 在 JDK 1.1 版中,用 Calendar.set(Calendar.SECOND, int seconds)代替。

将该日期的秒设置为指定的数值。

参数:
seconds - 秒数。
参见:
Calendar
getTime
 public long getTime()
返回该日期表示的从 GMT 1970 年 1 月 1 日 00:00:00 起的毫秒数。

返回值:
该日期表示的从 GMT 1970 年 1 月 1 日 00:00:00 起的毫秒数。
setTime
 public void setTime(long time)
设置表示从 GMT 1970 年 1 月 1 日 00:00:00 起的毫秒数的日期。

参数:
time - 毫秒数。
before
 public boolean before(Date when)
测试该日期是否在某指定的日期之前。

参数:
when - 一个日期。
返回值:
如果该日期在参数日期之前则为 true;否则为 false
after
 public boolean after(Date when)
测试该日期是否在某指定的日期之后。

参数:
when - 一个日期。
返回值:
如果该日期在参数日期之后则为 true;否则为 false
equals
 public boolean equals(Object obj)
比较两个日期。 当且仅当参数不为 null 而是以毫秒描述与该对象相同时间点的 Date 对象,结果为 true

所以,当且仅当 getTime 方法为两个对象返回相同的 long 值时两个 Date 对象相等。

参数:
obj - 要比较的对象。
返回值:
如果对象相同则为 true;否则为 false
覆盖:
Object 中的 equals
参见:
getTime
hashCode
 public int hashCode()
返回该对象的散列码值。

返回值:
该对象的散列码值。
覆盖:
Object 中的 hashCode
toString
 public String toString()
创建该日期规范的字符串表示。 结果的形式是 "Sat Aug 12 02:30:00 PDT 1995"

返回值:
该日期的字符串表示。
覆盖:
Object 中的 toString
toLocaleString
 public String toLocaleString()
注意:不推荐使用 toLocaleString() 方法。 在 JDK 1.1 版中,用 DateFormat.format(Date date)

以依赖实现的形式创建该日期的字符串表示。 目标是使 Java 应用的用户熟悉这种格式,不管该应用在哪儿运行。 该目标与 ISO C 的 strftime() 功能支持的 "%c" 形式兼容。

返回值:
该日期的字符串表示,使用语言环境的约定。
参见:
DateFormat
toGMTString
 public String toGMTString()
注意:不推荐使用 toGMTString() 方法。 在 JDK 1.1 版中,用 DateFormat.format(Date date) 代替,使用一个 GMT TimeZone

创建该日期的字符串表示。 结果的形式是:
    "12 Aug 1995 02:30:00 GMT"

其中一月中的日总是一位或两位数字。其它的域的宽度与显示的一样。 时区总以 "GMT" 的形式给出。

返回值:
该日期的字符串表示,使用 Internet GMT 约定。
参见:
DateFormat
getTimezoneOffset
 public int getTimezoneOffset()
注意:不推荐使用 getTimezoneOffset() 方法。 在 JDK 1.1 版中,用 Calendar.get(Calendar.ZONE_OFFSET) + Calendar.get(Calendar.DST_OFFSET) 代替。

返回本地时区的偏移量。 时区偏移量是为了给出本地时区而必须加在 GMT 上的分钟数。如果必要的话,该数值可以修改为夏时制。

返回值:
以分表示的当前语言环境的时区偏移量。
参见:
Calendar, TimeZone
原创粉丝点击