日期(Date)

首页 > JavaScript基本对象 > 日期(Date)

目录

■ 一览

Date(), getDate(), getDay(), getFullYear(), getHours(), getMilliseconds(), getMinutes(), getMonth(), getSeconds(), getTime(), getTimezoneOffset(), getUTCDate(), getUTCDay(), getUTCFullYear(), getUTCHours(), getUTCMilliseconds(), getUTCMinutes(), getUTCMonth(), getUTCSeconds(), getUTCYear(), getYear(), parse(), setDate(), setFullYear(), setHours(), setMilliseconds(), setMinutes(), setMonth(), setSeconds(), setTime(), setUTCDate(), setUTCFullYear(), setUTCHours(), setUTCMilliseconds(), setUTCMinutes(), setUTCMonth(), setUTCSeconds(), setUTCYear(), setYear(), toGMTString(), toLocaleString(), toString(), toUTCString(), toVarDate(), Date.UTC()

■ 日期对象

date = new Date(...)

生成指定日期和时间的日期对象。表示月份的参数介于 0 到 11 之间。

dd = new Date(1999, 11, 31);
dd = new Date(1999, 11, 31, 23, 59, 59);
dd = new Date("Dec 31, 1999 23:59:59");
dd = new Date("December 31, 1999 23:59:59");

也可以用下面的形式。

dd = new Date("1999/12/31 23:59:59");
dd = new Date("12/31/1999 23:59:59");
dd = new Date("99/12/31 23:59:59");
dd = new Date("12/31/99 23:59:59");

省略参数的话,会自动设定为当前的日期和时间。

dd = new Date();

JavaScript 1.3 开始,可以指定毫秒。

dd = new Date(1999, 11, 31, 23, 59, 59, 999);

日期的取得与设定

date.getFullYear()
date.setFullYear(year)
date.getYear()
date.setYear(year)
date.getMonth()
date.setMonth(mon)
date.getDate()
date.setDate(date)
date.getDay()
date.getHours()
date.setHours(hour)
date.getMinutes()
date.setMinutes(min)
date.getSeconds()
date.setSeconds(sec)
date.getMilliseconds()
date.setMilliseconds(msec)

取得与设定 年、月、日、星期几、时、分、秒、毫秒。星期几的值为 0(星期天)~6(星期六),月份的值为 0~11(1月为0)。

getFullYear() 和 setFullYear() 总是取得或设定像 2000 这样四位数的年份。

getYear() 返回的值不总是四位的数字。对于介于 1900 与 1999 之间的年份,getYear() 方法仅返回两位数字。对于 1900 之前或 1999 之后的年份,则返回四位数字。使用 setYear() 时,如果 year 参数是两位的数字,比如 setYear(91),则该方法会理解为 1991。如果要规定 1990 年之前或 1999 年之后的年份,请使用四位数字。注意,从 ECMAScript v3 起,JavaScript 实现不再要求使用这两个函数,请使用 getFullYear() 和 setFullYear() 代替它们。

想显示 YYYY/MM/DD 形式的日期可以像下面这样写。

dd = new Date();
yy = dd.getFullYear();
mm = dd.getMonth() + 1;
dd = dd.getDate();

if (mm < 10) { mm = "0" + mm; }
if (dd < 10) { dd = "0" + dd; }

document.write(yy + "/" + mm + "/" + dd);
date.getUTCFullYear()
date.setUTCFullYear(year)
date.getUTCYear()
date.setUTCYear(year)
date.getUTCMonth()
date.setUTCMonth(month)
date.getUTCDate()
date.setUTCDate(date)
date.getUTCDay()
date.getUTCHours()
date.setUTCHours(hour)
date.getUTCMinutes()
date.setUTCMinutes(min)
date.getUTCSeconds()
date.setUTCSeconds(sec)
date.getUTCMilliseconds()
date.setUTCMilliseconds(msec)

取得与设定协调世界时(UTC,又称世界统一时间,世界标准时间,国际协调时间)的 年、月、日、星期几、时、分、秒、毫秒。

date.getTimezoneOffset()

取得时区信息,以分钟为单位。中国的东八区为 -480(-8小时)。

转换为字符串

date.toString()
date.toLocaleString()
date.toGMTString()
date.toUTCString()
date.toVarDate()

把日期转换为字符串。toString()、toLocaleString()、toVarDate() 转换为当地时间,toGMTString() 和 toUTCString() 转换为设定协调世界时(UTC)。

dd = new Date();
document.write(dd.toLocaleString());

转换为数值

date.getTime()
date.setTime(time)

取得与设定距1970年1月1日0时0分0秒(UTC)之间的毫秒数。下面的例子取得一个星期后的日期。

dd = new Date();
dd.setTime(dd.getTime() + (7 * 24 * 3600 * 1000));
Date.UTC(year, mon, day, hour, min, sec)

返回1970年1月1日0时0分0秒(UTC)到指定日期的毫秒数。JavaScript 1.3 开始,可以指定毫秒。

Date.parse(string)

解析一个日期时间字符串 string,并返回1970年1月1日0时0分0秒(UTC)到指定日期的毫秒数。string 的形式与 dd = new Date(string) 的时候相同。