JavaScript Date
Date 对象
Date 对象用于处理日期与时间。
创建 Date 对象: new Date()
以下四种方法同样可以创建 Date 对象:
var d = new Date(); // 当前日期和时间
var d = new Date(milliseconds); // 返回从 1970 年 1 月 1 日至今的毫秒数
var d = new Date(dateString); // 返回时间字符串
var d = new Date(year, month, day, hours, minutes, seconds, milliseconds); // 返回设定格式时间
实例化如下
var d1 = new Date(); // Fri Aug 16 2019 09:07:53 GMT+0800 (中国标准时间)
var d2 = new Date(3600*24*1000*365) // Fri Jan 01 1971 08:00:00 GMT+0800 (中国标准时间)
var d3 = new Date(79,5,24) // Sun Jun 24 1979 00:00:00 GMT+0800 (中国标准时间)
var d3 = new Date(2079,5,24) // Sat Jun 24 2079 00:00:00 GMT+0800 (中国标准时间)
var d4 = new Date(79,0,24,11,33,0) // Wed Jan 24 1979 11:33:00 GMT+0800 (中国标准时间)
♥ 注意:月份0-11表示1-12月
CONTENT
Date 对象属性
属性 | 描述 |
---|---|
constructor | 返回对创建此对象的 Date 函数的引用。 |
prototype | 使您有能力向对象添加属性和方法。 |
Date 对象方法
方法 | 描述 |
---|---|
getFullYear() | 从 Date 对象以四位数字返回年份。 |
getMonth() | 从 Date 对象返回月份 (0 ~ 11)。 |
getDate() | 从 Date 对象返回一个月中的某一天 (1 ~ 31)。 |
getDay() | 从 Date 对象返回一周中的某一天 (0 ~ 6)。 |
getHours() | 返回 Date 对象的小时 (0 ~ 23)。 |
getMinutes() | 返回 Date 对象的分钟 (0 ~ 59)。 |
getSeconds() | 返回 Date 对象的秒数 (0 ~ 59)。 |
getMilliseconds() | 返回 Date 对象的毫秒(0 ~ 999)。 |
getTime() | 返回 1970 年 1 月 1 日至今的毫秒数。 |
getTimezoneOffset() | 返回本地时间与格林威治标准时间 (GMT) 的分钟差。 |
getUTCFullYear() | 根据世界时从 Date 对象返回四位数的年份。 |
getUTCMonth() | 根据世界时从 Date 对象返回月份 (0 ~ 11)。 |
getUTCDate() | 根据世界时从 Date 对象返回月中的一天 (1 ~ 31)。 |
getUTCDay() | 根据世界时从 Date 对象返回周中的一天 (0 ~ 6)。 |
getUTCHours() | 根据世界时返回 Date 对象的小时 (0 ~ 23)。 |
getUTCMinutes() | 根据世界时返回 Date 对象的分钟 (0 ~ 59)。 |
getUTCSeconds() | 根据世界时返回 Date 对象的秒钟 (0 ~ 59)。 |
getUTCMilliseconds() | 根据世界时返回 Date 对象的毫秒(0 ~ 999)。 |
getYear() | 已废弃。 请使用 getFullYear() 方法代替。 |
parse() | 返回1970年1月1日午夜到指定日期(字符串)的毫秒数。 |
setFullYear() | 设置 Date 对象中的年份(四位数字)。 |
setMonth() | 设置 Date 对象中月份 (0 ~ 11)。 |
setDate() | 设置 Date 对象中月的某一天 (1 ~ 31)。 |
setHours() | 设置 Date 对象中的小时 (0 ~ 23)。 |
setMinutes() | 设置 Date 对象中的分钟 (0 ~ 59)。 |
setSeconds() | 设置 Date 对象中的秒钟 (0 ~ 59)。 |
setMilliseconds() | 设置 Date 对象中的毫秒 (0 ~ 999)。 |
setTime() | setTime() 方法以毫秒设置 Date 对象。 |
setUTCFullYear() | 根据世界时设置 Date 对象中的年份(四位数字)。 |
setUTCMonth() | 根据世界时设置 Date 对象中的月份 (0 ~ 11)。 |
setUTCDate() | 根据世界时设置 Date 对象中月份的一天 (1 ~ 31)。 |
setUTCHours() | 根据世界时设置 Date 对象中的小时 (0 ~ 23)。 |
setUTCMinutes() | 根据世界时设置 Date 对象中的分钟 (0 ~ 59)。 |
setUTCSeconds() | setUTCSeconds() 方法用于根据世界时 (UTC) 设置指定时间的秒字段。 |
setUTCMilliseconds() | 根据世界时设置 Date 对象中的毫秒 (0 ~ 999)。 |
setYear() | 已废弃。请使用 setFullYear() 方法代替。 |
toDateString() | 把 Date 对象的日期部分转换为字符串。 |
toGMTString() | 已废弃。请使用 toUTCString() 方法代替。 |
toISOString() | 使用 ISO 标准返回字符串的日期格式。 |
toJSON() | 以 JSON 数据格式返回日期字符串。 |
toLocaleDateString() | 根据本地时间格式,把 Date 对象的日期部分转换为字符串。 |
toLocaleTimeString() | 根据本地时间格式,把 Date 对象的时间部分转换为字符串。 |
toLocaleString() | 据本地时间格式,把 Date 对象转换为字符串。 |
toString() | 把 Date 对象转换为字符串。 |
toTimeString() | 把 Date 对象的时间部分转换为字符串。 |
toUTCString() | 根据世界时,把 Date 对象转换为字符串。 |
UTC() | 根据世界时返回 1970 年 1 月 1 日 到指定日期的毫秒数。 |
valueOf() | 返回 Date 对象的原始值。 |
Date 对象属性
1.constructor
var d = new Date();
console.log(d.constructor); // ƒ Date() { [native code] }
constructor 属性返回对创建此对象的 Date 函数的引用。
语法
date.constructor
2.prototype
Date.prototype.myMet=function(){
if (this.getMonth()==0){this.myProp="一月"};
if (this.getMonth()==1){this.myProp="二月"};
if (this.getMonth()==2){this.myProp="三月"};
if (this.getMonth()==3){this.myProp="四月"};
if (this.getMonth()==4){this.myProp="五月"};
if (this.getMonth()==5){this.myProp="六月"};
if (this.getMonth()==6){this.myProp="七月"};
if (this.getMonth()==7){this.myProp="八月"};
if (this.getMonth()==8){this.myProp="九月"};
if (this.getMonth()==9){this.myProp="十月"};
if (this.getMonth()==10){this.myProp="十一月"};
if (this.getMonth()==11){this.myProp="十二月"};
}
var d = new Date();
d.myMet();
console.log(d.myProp); // 八月
prototype 属性使您有能力向对象添加属性和方法。
当构造一个原型,所有的日期对象都会默认添加属性和方法。
注意: 可将属性和方法添加到原型中,但不能为对象分配其他原型。 但是,可以向用户定义的对象分配新的原型。
注意: Prototype是一个全局属性,这对于几乎全部的JavaScript对象。
语法
Date.prototype.name=value
Date 对象方法
1.get
var d = new Date();
console.log(
d.getFullYear()+' '+d.getMonth()+' '+d.getDate()+' '+d.getDay()+' '+d.getHours()+' '+d.getMinutes()+' '+d.getSeconds()+' '+d.getMilliseconds()+' '+d.getTime()+' '+d.getTimezoneOffset()
);
// 2019 7 16 5 10 19 28 878 1565921968878 -480
// 年 月(0~11) 日 星期日-六(0~6) 时(0~23) 分(0~59) 秒(0-59) 毫秒(0~999) 1970年1月1日至今的毫秒数 格林威治标准时间(GMT)-本地时间的分钟差。
console.log(
d.getUTCFullYear()+' '+d.getUTCMonth()+' '+d.getUTCDate()+' '+d.getUTCDay()+' '+d.getUTCHours()+' '+d.getUTCMinutes()+' '+d.getUTCSeconds()+' '+d.getUTCMilliseconds()
);
// 2019 7 16 5 2 19 28 878
// 世界时
获取时间
2.parse()
Date.parse("March 21, 2012"); // 1332259200000
parse()
方法可解析一个日期时间字符串,并返回 1970/1/1 午夜距离该日期时间的毫秒数。
3.set
var d = new Date();
d.setFullYear(1999);
d.setMonth(0);
d.setDate(1);
d.setHours(0);
d.setMinutes(0);
d.setSeconds(0);
d.setMilliseconds(0);
console.log(d);
// Fri Jan 01 1999 00:00:00 GMT+0800 (中国标准时间)
d.setTime(1000*3600*24*365*10+2); // 315360000002
console.log(d); // Sun Dec 30 1979 08:00:00 GMT+0800 (中国标准时间)
var d = new Date();
d.setUTCFullYear(1999);
d.setUTCMonth(0);
d.setUTCDate(1);
d.setUTCHours(0);
d.setUTCMinutes(0);
d.setUTCSeconds(0);
d.setUTCMilliseconds(0);
console.log(d);
// Fri Jan 01 1999 08:00:00 GMT+0800 (中国标准时间)
设置时间
4.to
var d = new Date();
console.log(
d.toISOString()+'\n'+d.toDateString()+'\n'+d.toJSON()+'\n'+d.toUTCString()+'\n\n'+d.toLocaleDateString()+'\n'+d.toLocaleTimeString()+'\n'+d.toLocaleString()+'\n'+d.toString()+'\n'+d.toTimeString()
);
/*
2019-08-16T02:56:28.804Z
Fri Aug 16 2019
2019-08-16T02:56:28.804Z
Fri, 16 Aug 2019 02:56:28 GMT
2019/8/16
上午10:56:28
2019/8/16 上午10:56:28
Fri Aug 16 2019 10:56:28 GMT+0800 (中国标准时间)
10:56:28 GMT+0800 (中国标准时间)
*/
转换为指定形式
5.UTC()
var d = Date.UTC(2012,02,30); // d = 1333065600000
UTC()
方法可根据世界时返回 1970 年 1 月 1 日 到指定日期的毫秒数
♥ 提示: 协调世界时,又称世界统一时间,世界标准时间,国际协调时间,简称UTC( Universal Coordinated Time ) 。
♥ 注意: UTC时间与GMT(格林尼治时间)相同。
6.valueOf()
var d = new Date();
console.log(d.valueOf()); // 1565924654655
valueOf()
方法返回 Date 对象的原始值。
♥ 注意: 原始值返回1970年1月1日午夜以来的毫秒数!
网友评论