代码改变世界

Date

2012-04-26 11:42  呦菜  阅读(472)  评论(0编辑  收藏  举报

Date    操作日期和时间的对象

构造函数:

new Date()

  把创建的Date对象设置为当前的日期和时间。

new Date(milliseconds)

  milliseconds是一个数字,它将被作为日期的内部数字表示,其单位是ms,和方法getTime()的返回值一样。 

new Date(datestring)

  datestring是一个字符串,它是日期的字符串表示,其格式就是方法Date.parse()接受的格式。

new Date(year,month,day,hours,minutes,seconds,ms)

  传递给该构造函数的是2-7个数字,它们分别指定了日期和时间的各个字段。除了前两个字段(年和月)外,其它所有字段都是选用的。

注意:声明这些日期和时间的字段使用的是本地时间,而不是UTC时间。

Date()还可以作为普通函数被调用,而不带有运算符new。以这种方式调用时,Date()将忽略传递给它的所有参数,返回当前日期和时间的字符串表示。

参数:
milliseconds

  期望的日期距1970年1月1日午夜(UTC)的ms数。例如,假定传递的参数值为5000,那么创建的Date对象代表日期的就是1970年1月1日午夜过5s。

datestring

  一个字符串,声明了日期,也可以同时声明时间。这个字符串的格式应该是Date.parse()能接受的。

year

  年份,一个四位数。为了与早起的JavaScript实现兼容,如果它的值在0~99之间,则给它加上1900。

month

  月份,0(代表一月)到11(代表12月)之间的一个整数。

day

  一个月的某一天,1~31之间的一个整数。该参数是选用的。

hours

  小时,0(午夜)到23(晚上11点)之间的一个整数。该参数是选用的。

minutes

  分钟,0~59之间的一个整数。该参数是选用的。

seconds

  秒,0~59之间的一个整数。该参数是选用的。

ms

  毫秒0~999之间的一个整数。该参数是选用的。

方法:

Date 对象没有可以直接读写的属性。所有对日期和时间的访问都是通过方法执行的。Date对象的大多数方法采用两种格式,一种是使用本地时间进行操作,另一种是 使用世界时间(UTC或GMT)进行操作。如果方法的名称中有“UTC”,它将使用世界时间进行操作,下面将这些方法对列在一起。例 如:get[UTC]Day指方法getDay()和getUTCDay()。只有Date对象才能调用Date方法,如果用其它类型的对象调用这些方 法,将抛出异常TypeError。

 

get[UTC]Date()

返回Date对象所代表的月中的某一天,采用本地时间或世界时间。

摘要:date.getDate()

返回值:1~31之间的一个整数。

例子:

var date = new Date();
document.write(date.getDate());    //  23
document.write(date.getUTCDate()); //  23

get[UTC]Day()

返回Date对象所代表的一周中的某一天,采用本地时间或世界时间。

摘要:date.getDay()

返回值:0(周日)到6(周六)之间的一个整数。

例子:

var date = new Date();
document.write(date.getDay());    //  1
document.write(date.getUTCDay()); //  1

get[UTC]FullYear()

返回日期中的年份,用四位数表示,采用本地时间或世界时间。

摘要:date.getFullYear()

返回值:返回值是一个四位数,表示包括世纪值在内的完整年份,而不是两位数的缩写形式。

例子:

var date = new Date();
document.write(date.getFullYear());    //  2012
document.write(date.getUTCFullYear()); //  2012

get[UTC]Hours()

返回Date对象的小时字段,采用本地时间或世界时间。

摘要:date.getHours()

返回值:返回值是0(午夜)到23(晚上11点)之间的一个整数。

例子:

var date = new Date();
document.write(date.getHours());    //  11
document.write("<br>");
document.write(date.getUTCHours()); //  3

get[UTC]Milliseconds()

返回Date对象的毫秒字段,采用本地时间或世界时间。

摘要:date.getMilliseconds()

返回值:date的毫秒字段。

例子:

var date = new Date();
document.write(date.getMilliseconds());      //619
document.write("<br>");
document.write(date.getUTCMilliseconds());  //619

get[UTC]Minutes()

返回Date对象的分钟字段,采用本地时间或世界时间。

摘要:date.getMinutes()

返回值:指定Date对象的分钟字段。在0-59之间。

例子:

var date = new Date();
document.write(date.getMinutes());    //59
document.write("<br>");
document.write(date.getUTCMinutes()); //59

get[UTC]Month()

返回Date对象指定的月份字段,采用本地时间或世界时间。

摘要:date.getMinutes()

返回值:返回值在0(一月)到11(十二月)之间。

例子:

var date = new Date();
document.write(date.getMonth());    //3
document.write("<br>");
document.write(date.getUTCMonth()); //3

get[UTC]Seconds()

返回Date对象的秒字段,采用本地时间或世界时间。

摘要:date.getSeconds()

返回值:0~59之间

例子:

var date = new Date();
document.write(date.getSeconds());    //29
document.write("<br>");
document.write(date.getUTCSeconds()); //29

getTime()

返回Date对象的内部毫秒数,注意,该值独立于时区,所以没有单独的getUTCtime()方法。

摘要:date.getTime()

返回值:指定的Date对象date的毫秒数,也就是date指定的日期和时间距1970年1月1日午夜(GMT)之间的毫秒数。

例子:

var date = new Date();
document.write(date.getTime());    //1335240631702

 getTimezoneOffset()

返回这个日期的本地时间和UTC表示之间的时差,以分钟为单位。注意,是否是夏令时或在指定的日期中夏令时是否有效,将决定该方法的返回值。

摘要:date.getTimezoneOffset()

返回值:本地时间与GMT时间之间的时差,以分钟为单位。

描述:getTimezoneOffset()返回本地时间与GMT时间或UTC时间之间相差的分钟数,实际上该函数告诉了你运行JavaScript代码的时区,以及指定的时间是否是夏令时。返回值以分钟计,而不是以小时,原因是某些国家所占有的时区甚至不到一个小时的间隔。

例子:

var date = new Date();
document.write(date.getTimezoneOffset());    //-480

getYear()

返回Date对象的年份(世界时)。一般不使用这种方法,推荐使用的方法getFullYear();

摘要:date.getYear()

返回值:指定Date对象date的年份字段减去1900。

描述:从ECMAScript v3起,JavaScript的实现就不再要求使用该函数,而使用getFullYear()函数代替它

set[UTC]Date()

设置Date对象中月的某一天,采用本地时间或世界时间。

摘要:date.setDate(day_of_month)

参数:

day_of_month    1~31之间的整数,作为Date的月中某一天字段的新值(本地时间或世界时间)。

返回值:

调整过的日期的毫秒数。在ECMAScript标准化之前,该方法什么都不返回。

例子:

var date = new Date();
document.write(date.setDate(24));    // 1335247971179
document.write("<br>");
document.write(date.setUTCDate(24));    // 1335247971179

set[UTC]FullYear()

设置Date对象的年份字段(月份和天数字段可选),采用本地时间或世界时间。

摘要:

date.setFullYear(year)

date.setFullYear(year,month)

date.setFulYear(year,month,day)

参数:

year:  该参数应该是一个完整的年份,如:2012,而不是年份的缩写,如12。

month: 可选的整数。在0~11之间,用作date的月份字段的新值。

day: 可选的整数。在1~31之间,用作date的天数字段的新值。

返回值:调整过的日期的毫秒数。

例子:

var date = new Date();
document.write(date.setFullYear(2012));    // 1335249639070
document.write("<br>");
document.write(date.setFullYear(2012,5));    // 1340520039070
document.write("<br>");
document.write(date.setFullYear(2012,5,28));    // 1340865639070

set[UTC]Hours()

设置Date对象的小时字段(分钟、秒和毫秒字段选用),采用本地时间或世界时间。


摘要:

date.setHours(hours)

date.setHours(hours,minutes)

date.setHours(hours,minutes,seconds)

date.setHours(hours,minutes,seconds,millis)

参数:

hours: 0~23之间的整数,用作date的小时字段的新值。

minutes: 可选的整数,在0~59之间。用作date的分钟字段的新值。ECMAScript标准化之前,不支持该参数。

seconds: 可选的整数,0~59之间。用作date的秒字段的新值。ECMAScript标准化之前,不支持该参数。

millis: 可选的整数,在0~999之间,用作date的毫秒字段的新值。ECMAScript标准化之前,不支持该参数。

返回值:

调整过的日期的毫秒数。ECMAScript标准化之前,该方法不返回值。

set[UTC]Milliseconds()

设置Date对象的毫秒字段。采用本地时间或世界时间。

摘要:

date.setMilliseconds(millis)

参数:

millis: 用于设置date的毫秒字段。是0~999之间的整数。

返回值:调整过的日期的毫秒表示。

set[UTC]Minutes()

设置Date对象的分钟字段(秒和毫秒字段选用),采用本地时间或世界时间。

摘要:

date.setMinutes(minutes)

date.setMinutes(minutes,seconds)

date.setMinutes(minutes,seconds,millis)

参数:

minutes: 用于设置的date的分钟字段,0~59。

seconds: 可选的整数。0~59之间,用作date的秒字段的新值,ECMAScript标准化之前,不支持该参数。

millis: 可选整数。0~999之间,用作date毫秒字段的新值。ECMAScript标准化之前,不支持该参数。

返回值:

调整过的日期的毫秒表示。ECMAScript标准化之前,该方法不返回值。

set[UTC]Minutes()  

设置Date对象的分钟字段(秒和毫秒字段选用)。采用本地时间或世界时间。

摘要:

date.setMinutes(minutes)

date.setMinutes(minutes,seconds)

date.setMinutes(minutes,seconds,millis)

参数:

minutes: 0~59的整数。用于设置Date对象date的分钟字段。

seconds: 可选的整数,在0~59之间,用作date的秒字段的新值。ECMAScript标准化之前,不支持该参数。

millis: 可选的整数,在0~999之间,用作date毫秒字段的新值。ECMAScript标准化之前,不支持该参数。

返回值:

调整过的日期的毫秒数。ECMAScript标准化之前,该方法不返回值。

set[UTC]Month()

设置date对象的月份字段(一个月的天数字段选用),采用本地时间或世界时间。

摘要:

date.setMonth(month)

date.setMonth(month,day)

参数:

month: 0(一月)到11(十二月)之间的整数,用于设置Date对象date的月份字段。

day: 可选的整数,在1~31之间,用作date的天数字段的新值。ECMAScript标准化之前,不支持该参数。

返回值:

调整过的日期的毫秒表示。ECMAScript标准化之前,该方法不返回值。

set[UTC]Seconds

设置Date对象的秒字段(毫秒字段选用),采用本地时间或世界时。

摘要:

date.setSeconds(seconds)

date.setSeconds(seconds,millis)

参数:

seconds: 0~59之间的整数,用于设置Date对象date的秒字段。

millis: 可选的整数,在0~999之间,用作date的毫秒字段的新值,ECMAScript标准化之前,不支持该参数。

返回值:

调整过的日期的毫秒表示。ECMAScript标准化之前,该方法不返回值。

setTime()

使用毫秒的形式设置Date对象的各个字段。

摘要:

date.setTime(milliseconds)

参数:

milliseconds: 要设置的日期和时间距GMT时间1970年1月1日午夜之间的毫秒数。这种类型的毫秒值可以传递给Date()构造函数,可以通过调用Date.UTC()和Date.parse()方法获得该值。以豪秒形式表示日期可以使它独立于时区。

返回值:

参数milliseconds.ECMAScript标准化之前,该方法不返回值。

setYear()

设置Date对象的年份字段。不赞成使用该方法,推荐使用setFullYear()。

toDateString()

返回日期的日期部分的字符串表示,采用本地时间。

摘要:

date.toDateString()

返回值:

date的日期部分的字符串表示。

例子:

var date = new Date();
document.write(date.toDateString());  //   Thu Apr 26 2012

toGMTString()

将Date对象转换成一个字符串,采用GMT时间区。该方法被反对使用,推荐使用的方法是toUTCString()。

toLocaleDateString()

返回表示日期的日期部分的字符串,采用地方日期,使用地方日期的格式化规约。

摘要:

date.toLocalDateString()

返回值:

date的日期部分的字符串表示。

例子:

var date = new Date();
document.write(date.toLocaleDateString());  //   2012年4月26日

toLocaleString()

将Date对象转换成一个字符串。采用本地时间和地方日期的格式化规约。

摘要:date.toLocaleString()

返回:Date对象date指定的日期和时间的字符串表示。该日期和时间用本地时间区表示,并根据本地规则格式化。

例子:

var date = new Date();
document.write(date.toLocaleString());  //   2012年4月26日 10:44:39

toLocaleTimeString()

返回日期的时间部分的字符串表示,采用本地时间,使用本地的格式化规约。

摘要:date.toLocaleTimeString()

返回值:

date的时间部分的字符串表示,以本地时间区表示,并根据本地规则格式化。

例子:

var date = new Date();
document.write(date.toLocaleTimeString());  //   10:46:57

toString()

将Date对象转换成一个字符串,采用本地时间。

摘要:date.toString()

返回值:date的字符串表示。

例子:

var date = new Date();
document.write(date.toString());  //   Thu Apr 26 2012 10:37:42 GMT+0800

toTimeString()

返回日期的时间部分的字符串表示,采用本地时间。

摘要: date.toTimeString()

返回值:

date的时间部分的字符串表示,由实现决定,以本地时间表示。

例子:

var date = new Date();
document.write(date.toTimeString());  //   10:48:49 GMT+0800

toUTCString()

将Date对象转换成一个字符串,采用世界时。

摘要: date.toUTCString()

返回值:返回一个特定于实现的字符串,这个字符串用世界时表示日期。

例子:

var date = new Date();
document.write(date.toUTCString());  //   Thu, 26 Apr 2012 02:50:38 GMT

valueOf()

将Date对象转换成它的内部毫秒格式。

摘要: date.valueOf()

返回值: date的毫秒表示。返回值和方法Date.getTime()返回的值相等。

例子:

var date = new Date();
document.write(date.valueOf());  //   1335408864136
document.write("<br>"); 
document.write(date.getTime());  //   1335408864136

静态方法:

这两个方法由构造函数Date()自身调用,而不是由date对象调用。

Date.parse()

解析日期和时间的字符串表示,返回它的内部毫秒表示。

摘要: Date.parse(date)

参数:

date : 含有要解析的日期和时间的字符串。

返回值:指定的日期和时间距1970年1月1日午夜(GMT)之间的毫秒数。

例子:

var d = Date.parse("Jul 8, 2005")
document.write(d);   //1120752000000 

Date.UTC()

返回指定的UTC日期和时间的毫秒表示。

摘要:

Date.UTC(year,month,day,hours,minutes,seconds,ms)

参数:

year:   四位数表示的年份值。如果参数在0~99之间,它将加上1900,作为1900~1999之间的年份处理。

month: 月份值,是0(1月)到11(十二月)之间的整数。

day:  一个月中的某一天,是1~31之间的整数。该参数是选用的。

hours: 小时值,0~23之间的整数。该参数是选用的。

minutes:  分钟值,0~59之间的整数。该参数是选用的。

seconds: 秒值。0~59之间的整数。该参数是选用的。

ms:  毫秒值。0~999之间的整数。该参数是选用的。

返回值: 指定的世界时的毫秒表示。简而言之,该方法返回指定的时间距GMT时间1970年1月1日午夜的毫秒数。