- java.lang.Object
-
- java.util.Date
-
- All Implemented Interfaces:
-
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被弃用。尽管
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中,以使UT在UT1的0.9秒内保持UTC,这是UT的版本,并应用了某些修正。 还有其他的时间和日期系统; 例如,基于卫星的全球定位系统(GPS)使用的时间尺度与UTC同步,但不对闰秒进行调整。 进一步信息的一个有趣的来源是美国海军天文台(USNO):
http://www.usno.navy.mil/USNO以及关于“时间系统”的材料:
http://www.usno.navy.mil/USNO/time/master-clock/systems-of-time其具有包括UT,UT1和UTC在内的各种不同时间系统的描述。
在接收或返回年,月,日,小时,分钟和秒值的
Date类的所有方法中,使用以下表示:- y年代表整数y
- 1900。 - 一个月由0到11的整数表示; 0是1月,1是2月,等等; 11月12日。
- 日期(月的一天)以通常的方式从1到31的整数表示。
- 一小时由0到23之间的整数表示。因此,从午夜到凌晨1点的时间是小时0,从中午到下午1点的小时是12小时。
- 一般以0〜59的整数表示。
- 第二个由0到61的整数表示; 值60和61仅发生在闰秒上,甚至仅在实际上正确跟踪闰秒的Java实现中发生。 由于目前引入闰秒的方式,在同一分钟内不会发生两个闰秒,但是本规范遵循ISO C的日期和时间约定。
在所有情况下,为这些目的而提供的方法的论证不必在指定范围内; 例如,可以将日期指定为1月32日,并将其解释为2月1日。
- 从以下版本开始:
- 1.0
- 另请参见:
-
DateFormat,Calendar,TimeZone, Serialized Form
-
-
构造方法摘要
构造方法 Constructor 描述 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对象,并将其初始化为表示从标准基准时间(称为“时代”)即1970年1月1日00:00:00 GMT起的指定毫秒数。Date(String s)已过时。从JDK 1.1版开始,替换为DateFormat.parse(String s)。
-
方法摘要
所有方法 静态方法 接口方法 具体的方法 弃用的方法 Modifier and Type 方法 描述 booleanafter(Date when)测试此日期是否在指定日期之后。booleanbefore(Date when)测试此日期是否在指定日期之前。Objectclone()返回此对象的副本。intcompareTo(Date anotherDate)比较两个日期进行订购。booleanequals(Object obj)比较两个日期来平等。static Datefrom(Instant instant)从Instant对象获取Date一个实例。intgetDate()已过时。从JDK 1.1版开始,由Calendar.get(Calendar.DAY_OF_MONTH)替代。intgetDay()已过时。从JDK 1.1版开始,由Calendar.get(Calendar.DAY_OF_WEEK)替代。intgetHours()已过时。从JDK 1.1版开始,由Calendar.get(Calendar.HOUR_OF_DAY)代替。intgetMinutes()已过时。从JDK 1.1版开始,由Calendar.get(Calendar.MINUTE)替代。intgetMonth()已过时。从JDK 1.1版开始,由Calendar.get(Calendar.MONTH)替代。intgetSeconds()已过时。截至JDK 1.1版,由Calendar.get(Calendar.SECOND)替代。longgetTime()返回自1970年1月1日以来,由Date对象表示的00:00:00 GMT的毫秒数。intgetTimezoneOffset()已过时。从JDK 1.1版开始,由-(Calendar.get(Calendar.ZONE_OFFSET) + Calendar.get(Calendar.DST_OFFSET)) / (60 * 1000)代替。intgetYear()已过时。从JDK 1.1版开始,由Calendar.get(Calendar.YEAR) - 1900替换。inthashCode()返回此对象的哈希码值。static longparse(String s)已过时。从JDK 1.1版开始,由DateFormat.parse(String s)替代。voidsetDate(int date)已过时。从JDK 1.1版开始,由Calendar.set(Calendar.DAY_OF_MONTH, int date)替代。voidsetHours(int hours)已过时。从JDK 1.1版开始,由Calendar.set(Calendar.HOUR_OF_DAY, int hours)替代。voidsetMinutes(int minutes)已过时。截至JDK 1.1版,由Calendar.set(Calendar.MINUTE, int minutes)替代。voidsetMonth(int month)已过时。从JDK 1.1版开始,代之以Calendar.set(Calendar.MONTH, int month)。voidsetSeconds(int seconds)已过时。从JDK 1.1版开始,替换为Calendar.set(Calendar.SECOND, int seconds)。voidsetTime(long time)将此Date对象设置为1970年1月1日00:00:00 GMT后的time毫秒的时间点。voidsetYear(int year)已过时。从JDK 1.1版开始,替换为Calendar.set(Calendar.YEAR, year + 1900)。StringtoGMTString()已过时。从JDK 1.1版开始,用DateFormat.format(Date date)替换,使用GMTTimeZone。InstanttoInstant()将此Date对象转换为Instant。StringtoLocaleString()已过时。从JDK 1.1版开始,由DateFormat.format(Date date)替代。StringtoString()将此Date对象转换为String的形式:static longUTC(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()。
-
-
-
构造方法详细信息
-
Date
public Date()
分配一个Date对象,并初始化它,以便它代表它被分配的时间,测量到最接近的毫秒。
-
Date
public Date(long date)
分配一个Date对象,并将其初始化为表示从标准基准时间(称为“时代”)即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参数。- 参数
-
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)替代。- 参数
-
s- 日期的字符串表示形式。 - 另请参见:
-
DateFormat,parse(java.lang.String)
-
-
方法详细信息
-
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()。根据参数确定日期和时间。 参数被解释为一年,一个月,一天中的一天,一小时内的分钟,一分钟内的Date与具有六个参数的Date构造函数完全相同,但参数相对于UTC解释而不是当地时区。 返回的时间表示为从时代(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
-
parse
@Deprecated public static long parse(String s)
已过时。 自JDK 1.1版起,由DateFormat.parse(String s)取代。尝试将字符串s解释为日期和时间的表示。 如果尝试成功,则返回的时间表示为距离时间(1970年1月1日00:00:00 GMT)的距离(以毫秒为单位)。 如果尝试失败,则抛出IllegalArgumentException。它接受很多语法; 特别是它识别IETF标准日期语法:“Sat,12 Aug 1995 13:30:00 GMT”。 它也了解美国大陆时区缩写,但对于一般使用,应使用时区偏移:“星期六,1995年8月12日13:30:00 GMT + 0430”(格林威治以西30分钟子午线)。 如果未指定时区,则假定为本地时区。 GMT和UTC被认为是等效的。
字符串
s处理,寻找感兴趣的数据。 任何s内的任何材料,在ASCII括号内的字符(和)都将被忽略。 括号可以嵌套。 否则,s中允许的唯一字符是这些ASCII字符:
和空格字符。abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789,+-:/
十进制数字的连续序列被视为十进制数:
- 如果一个数字前面有
+或-,一年已经被识别,则该数字是时区偏移量。 如果数字小于24,则以小时计算。 否则,它被视为以分钟为单位的偏移量,以24小时格式表示,没有标点符号。 前面的一个-表示向西偏移。 时区偏移总是相对于UTC(格林威治)。 因此,例如,-5出现的-5意味着“格林威治以西五小时”,而+0430将意味着“格林威治以东四小时三十分钟”。 它允许字符串指定GMT,UT,或UTC冗余,例如,GMT-5或utc+0430。 - 如果满足以下条件之一,则该数字被视为年数:
- 数字等于或大于70,后跟空格,逗号,斜杠或字符串结尾
- 这个数字不到70,这个月的一个月和一个月都已经被认可了
SimpleDateFormat。 - 如果数字后面是一个冒号,它被认为是一个小时,除非一个小时已经被识别,在这种情况下,它被认为是一分钟。
- 如果号码后面是斜杠,则视为一个月份(除以1,以产生
0到11),除非已被确认为一个月,否则被视为一天的月份。 - 如果数字后面是空格,逗号,连字符或字符串结尾,那么如果一小时已被识别但不是一分钟,则视为分钟; 否则,如果一分钟已被确认但不是第二次,则被视为第二个; 否则被视为一个月的一天。
连续的字母序列被视为一个单词,并处理如下:
- 匹配
AM(忽略大小写)的单词将被忽略(但如果小时尚未被识别或小于1或大于12,则解析失败)。 - 与
PM匹配的PM(忽略大小写)会在小时内添加12(但如果一小时未识别或小于1或大于12则解析失败)。 - 任何与任何前缀为
SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY或SATURDAY匹配的SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY忽略大小写都将被忽略。 例如,sat, Friday, TUE和Thurs被忽略。 - 否则,任何与任何前缀
JANUARY, FEBRUARY, MARCH, APRIL, MAY, JUNE, JULY, AUGUST, SEPTEMBER, OCTOBER, NOVEMBER或DECEMBER相匹配的单词忽略不计,并按照此处给出的顺序进行考虑,将被确认为指定一个月份,并转换为一个数字(0至11)。 例如,aug, Sept, april和NOV被确认为月。 所以是Ma,被认定为MARCH,而不是MAY。 - 任何与
GMT, UT或UTC匹配的GMT, UT忽略大小写,都被视为指向UTC。 - 任何匹配
EST, CST, MST或PST,无视情况,分别被认为是指北美时区,分别是格林威治以西五,六,七,八小时。 匹配EDT, CDT, MDT或PDT(忽略大小写)的任何单词在夏令时分别被识别为指向相同的时区。
一旦扫描了整个字符串,它将以两种方式之一转换为时间结果。 如果已经识别出时区或时区偏移量,则以UTC为单位解释年,月,日,月,时,分和秒,然后应用时区偏移。 否则,在本地时区解释年,月,日,时,分,秒。
- 参数
-
s- 要解析为日期的字符串。 - 结果
- 从1970年1月1日00:00:00 GMT以字符串参数表示的毫秒数。
- 另请参见:
-
DateFormat
- 如果一个数字前面有
-
getYear
@Deprecated public int getYear()
已过时。 从JDK 1.1版开始,代之以Calendar.get(Calendar.YEAR) - 1900。返回一个值,该值是从包含或以该Date对象表示的时刻开始的年份减去1900,如本地时区所解释的那样。- 结果
- 这个日期代表的年份,减去1900年。
- 另请参见:
-
Calendar
-
setYear
@Deprecated public void setYear(int year)
已过时。 从JDK 1.1版开始,替换为Calendar.set(Calendar.YEAR, year + 1900)。将此Date对象的年份设置为指定值加上1900.该Date对象进行修改,以便它表示指定年份内的时间点,月,日,小时,分钟和秒与之前相同,如当地时区所解释。 (当然,如果日期是例如2月29日,而这一年是非闰年,则新日期将被视为是在3月1日。)- 参数
-
year- 年值。 - 另请参见:
-
Calendar
-
getMonth
@Deprecated public int getMonth()
已过时。 从JDK 1.1版开始,由Calendar.get(Calendar.MONTH)替代。返回表示包含或以该Date对象表示的时刻开始的月份的数字。 返回的值在0和11之间,值为0代表一月。- 结果
- 该日期的代表月份。
- 另请参见:
-
Calendar
-
setMonth
@Deprecated public void setMonth(int month)
已过时。 从JDK 1.1版开始,由Calendar.set(Calendar.MONTH, int month)替代。将此日期的月份设置为指定的值。 该Date对象被修改,以便它表示指定月份内的时间点,年份,日期,小时,分钟和秒与之前相同,如本地时区所解释的。 例如,如果日期是10月31日,而月份定为6月,则新日期将被视为7月1日,因为6月只有30天。- 参数
-
month- 0-11之间的月份值。 - 另请参见:
-
Calendar
-
getDate
@Deprecated public int getDate()
已过时。 从JDK 1.1版开始,由Calendar.get(Calendar.DAY_OF_MONTH)替换。返回此Date对象所代表的月份。 返回的值在1和31之间,代表本月的日期,包含或开始于此Date对象表示的时间,如本地时区所解释的。- 结果
- 这个日期的一个月的日子。
- 另请参见:
-
Calendar
-
setDate
@Deprecated public void setDate(int date)
已过时。 从JDK 1.1版开始,由Calendar.set(Calendar.DAY_OF_MONTH, int date)取代。将此Date对象的月份日期设置为指定的值。 这个Date对象被修改,以便它表示在当地时区解释的指定日期内的时间点,年,月,小时,分钟和秒与之前相同。 例如,如果日期是4月30日,日期设置为31,则将被视为5月1日,因为4月只有30天。- 参数
-
date- 月的日期值在1-31之间。 - 另请参见:
-
Calendar
-
getDay
@Deprecated public int getDay()
已过时。 从JDK 1.1版开始,替换为Calendar.get(Calendar.DAY_OF_WEEK)。返回由此日期表示的星期几。 返回的值(0=星期日,1=星期二,2=星期二,3=星期三,4=星期二,5=星期五,6=星期六)表示包含或以此时间表示的时刻开始的星期几Date对象,如当地时区所解释。- 结果
- 这个日期的星期几。
- 另请参见:
-
Calendar
-
getHours
@Deprecated public int getHours()
已过时。 从JDK 1.1版开始,由Calendar.get(Calendar.HOUR_OF_DAY)替代。返回此Date对象所表示的小时Date。 返回的值是一个数字(0至23),代表一天内包含或以该Date对象表示的时刻开始的时间,如本地时区所解释的。- 结果
- 这个日期代表的时间。
- 另请参见:
-
Calendar
-
setHours
@Deprecated public void setHours(int hours)
已过时。 从JDK 1.1版开始,由Calendar.set(Calendar.HOUR_OF_DAY, int hours)替代。将此Date对象的小时设置为指定的值。 这个Date对象被修改,以便它表示一天中指定的小时内的时间点,年份,月份,日期,分钟和秒与之前相同,如本地时区所解释的。- 参数
-
hours- 小时值。 - 另请参见:
-
Calendar
-
getMinutes
@Deprecated public int getMinutes()
已过时。 从JDK 1.1版开始,由Calendar.get(Calendar.MINUTE)替代。返回由当前时区解释的此日期所表示的小时数。 返回的值在0和59之间。- 结果
- 由该日期表示的小时数。
- 另请参见:
-
Calendar
-
setMinutes
@Deprecated public void setMinutes(int minutes)
已过时。 从JDK 1.1版开始,由Calendar.set(Calendar.MINUTE, int minutes)替代。将此Date对象的分钟数设置为指定的值。 该Date对象被修改,以便它表示在本地时区解释的指定分钟内的时间点内的年份,月份,日期,时间和秒与之前相同的时间点。- 参数
-
minutes- 分钟的值。 - 另请参见:
-
Calendar
-
getSeconds
@Deprecated public int getSeconds()
已过时。 从JDK 1.1版开始,由Calendar.get(Calendar.SECOND)替代。返回由此日期表示的分钟数。 返回的值在0和61之间。 值60和61只能在那些考虑到闰秒的Java虚拟机上发生。- 结果
- 由此日期表示的分钟秒数。
- 另请参见:
-
Calendar
-
setSeconds
@Deprecated public void setSeconds(int seconds)
已过时。 从JDK 1.1版开始,由Calendar.set(Calendar.SECOND, int seconds)替代。将此Date的秒数设置为指定值。 该Date对象被修改,以便它表示在分钟的指定秒钟内的时间点,年份,月份,日期,小时和分钟与之前相同,如当地时区所解释的。- 参数
-
seconds- 秒值。 - 另请参见:
-
Calendar
-
getTime
public long getTime()
返回自1970年1月1日以来,由Date对象表示的00:00:00 GMT的毫秒数。- 结果
- 自1970年1月1日起,以此日期为准的00:00:00 GMT的毫秒数。
-
setTime
public void setTime(long time)
设置此Date对象以表示1970年1月1日00:00:00 GMT之后的time毫秒的时间点。- 参数
-
time- 毫秒数。
-
before
public boolean before(Date when)
测试此日期是否在指定日期之前。- 参数
-
when- 一个日期。 - 结果
-
true当且仅当这个Date对象所表示的时刻是严格早于when表示的when;false否则。 - 异常
-
NullPointerException- 如果when为空。
-
after
public boolean after(Date when)
测试此日期是否在指定日期之后。- 参数
-
when- 一个日期。 - 结果
-
true当且仅当该Date对象所表示的时刻严格晚于when表示的when; 否则为false。 - 异常
-
NullPointerException- 如果when为空。
-
equals
public boolean equals(Object obj)
比较两个日期来平等。 结果是true当且仅当参数不是null并且是一个Date对象,表示与该对象相同的时间点(毫秒)。因此,当且仅当
getTime方法返回相同的long值时,两个Date对象相等。
-
compareTo
public int compareTo(Date anotherDate)
比较两个日期进行订购。- Specified by:
-
compareTo在接口Comparable<Date> - 参数
-
anotherDate- 要比较的Date。 - 结果
-
值为
0如果参数Date等于此Date; 如果此日期在Date参数之前,该值小于0; 如果此日期在Date参数0则值大于0。 - 异常
-
NullPointerException- 如果anotherDate为空。 - 从以下版本开始:
- 1.2
-
hashCode
public int hashCode()
返回此对象的哈希码值。 结果是由getTime()方法返回的原始long值的两半的异或。 也就是说,哈希码是表达式的值:(int)(this.getTime()^(this.getTime() >>> 32))- 重写:
-
hashCode在Object - 结果
- 该对象的哈希码值。
- 另请参见:
-
Object.equals(java.lang.Object),System.identityHashCode(java.lang.Object)
-
toString
public String toString()
将此Date对象转换为String的形式:
哪里:dow mon dd hh:mm:ss zzz yyyy
-
dow是星期几(Sun, Mon, Tue, Wed, Thu, Fri, Sat)。 -
mon是月(Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec)。 -
dd是这个月的日子(01到31),两位十进制数字。 -
hh是一天中的小时(00到23),两位十进制数字。 -
mm是一小时内的分钟(00到59),作为两位十进制数字。 -
ss是分钟内的第二个(00到61,作为两位十进制数字。 -
zzz是时区(可能反映夏令时)。 标准时区缩写包括方法parse识别的缩写。 如果时区信息不可用,那么zzz是空的 - 也就是说,它没有任何字符。 -
yyyy为yyyy,为四位十进制数字。
- 重写:
-
toString在Object - 结果
- 此日期的字符串表示形式。
- 另请参见:
-
toLocaleString(),toGMTString()
-
-
toLocaleString
@Deprecated public String toLocaleString()
已过时。 从JDK 1.1版开始,替换为DateFormat.format(Date date)。以实现依赖的形式创建此Date对象的字符串表示形式。 意图是,Java应用程序的用户应该熟悉该表单,无论它可能正在运行。 意图与ISO C的strftime()功能支持的“%c”格式strftime()。- 结果
- 此日期的字符串表示形式,使用区域设置约定。
- 另请参见:
-
DateFormat,toString(),toGMTString()
-
toGMTString
@Deprecated public String toGMTString()
已过时。 从JDK 1.1版开始,用DateFormat.format(Date date)替换,使用GMTTimeZone。创建此Date对象的字符串表示形式:
哪里:d mon yyyy hh:mm:ss GMT
- d是一个月的日期(
1到31),一个或两个十进制数字。 - mon是月(
Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec)。 - yyyy是年份,四位十进制数字。
- hh是一天中的小时(
00到23),两位十进制数字。 - mm是一小时内的分钟(
00至59),为两位十进制数字。 - ss是分钟内的第二个(
00到61),两位十进制数字。 - GMT正是ASCII字母“
GMT”来表示格林威治标准时间。
结果不依赖于当地时区。
- 结果
- 这个日期的字符串表示法,使用Internet GMT约定。
- 另请参见:
-
DateFormat,toString(),toLocaleString()
- d是一个月的日期(
-
getTimezoneOffset
@Deprecated public int getTimezoneOffset()
已过时。 从JDK 1.1版开始,由-(Calendar.get(Calendar.ZONE_OFFSET) + Calendar.get(Calendar.DST_OFFSET)) / (60 * 1000)替代。返回适用于由此Date对象表示的时间的本地时区相对于UTC的偏移量(以分钟为Date。例如,在马萨诸塞州,格林威治以西的五个时区:
因为1996年2月14日,标准时间(东部标准时间)正在使用,从UTC偏移了五个小时; 但:new Date(96, 1, 14).getTimezoneOffset() returns 300
因为在1996年6月1日,夏令时间(Eastern Daylight Time)正在使用中,而UTC距离UTC只有四个小时。new Date(96, 5, 1).getTimezoneOffset() returns 240
该方法产生的结果与计算结果相同:
(this.getTime() - UTC(this.getYear(), this.getMonth(), this.getDate(), this.getHours(), this.getMinutes(), this.getSeconds())) / (60 * 1000)- 结果
- 当前时区的时区偏移量(以分钟为单位)。
- 另请参见:
-
Calendar.ZONE_OFFSET,Calendar.DST_OFFSET,TimeZone.getDefault()
-
from
public static Date from(Instant instant)
从Instant对象获取一个Date的实例。Instant使用毫微秒的精度,而Date使用毫秒的精度。 转换将截断任何超量精度信息,就好像以毫秒为单位的整数除以一百万。Instant可以在未来进一步存储时间点上的积分,并且在过去比Date进一步。 在这种情况下,此方法将抛出异常。- 参数
-
instant- 即时转换 - 结果
-
一个
Date表示与提供的时刻在时间线上的相同点 - 异常
-
NullPointerException- 如果instant为空。 -
IllegalArgumentException- 如果瞬间太大,无法表示为Date - 从以下版本开始:
- 1.8
-
toInstant
public Instant toInstant()
将此Date对象转换为Instant。转换创建
Instant,表示基于时间线,因为这同一点Date。- 结果
-
即时代表与时间线上的相同点
Date对象 - 从以下版本开始:
- 1.8
-
-