在任何一门开发语言中,对日期时间类型的处理,必不可少也非常重要,长期以来对于JS的日期类型处理较为苍白。在这里主要对JS中关于日期时间处理的Date对象API进行简单测试。
一、Date对象
定义及描述:Date 对象用于处理日期和时间。
语法格式:var myDate=new Date()
注释:Date 对象会自动把当前日期和时间保存为其初始值。
二、API
1 <script type="text/javascript"> 2 // Date 对象用于处理日期和时间。 3 // Date 对象会自动把当前日期和时间保存为其初始值。 4 var myDate=new Date(); 5 console.log(myDate); // Tue Oct 24 2017 10:35:14 GMT+0800 (中国标准时间) 6 7 /****** get系列的方法 ******/ 8 // getDate() 从 Date 对象返回一个月中的某一天 (1 ~ 31)。 9 console.log(myDate.getDate()); // 24 10 // getDay() 从 Date 对象返回一周中的某一天 (0 ~ 6)。 11 console.log(myDate.getDay()); // 2(周二) 12 // getMonth() 从 Date 对象返回月份 (0 ~ 11)。 13 console.log(myDate.getMonth()); // 9(10月) 14 // getFullYear() 从 Date 对象以四位数字返回年份。 15 console.log(myDate.getFullYear()); // 2017 16 // getYear() 请使用 getFullYear() 方法代替。 17 // console.log(myDate.getYear()); // 117 18 // getHours() 返回 Date 对象的小时 (0 ~ 23)。 19 console.log(myDate.getHours()); // 10 20 // getMinutes() 返回 Date 对象的分钟 (0 ~ 59)。 21 console.log(myDate.getMinutes()); // 45 22 // getSeconds() 返回 Date 对象的秒数 (0 ~ 59)。 23 console.log(myDate.getSeconds()); // 40 24 // getMilliseconds() 返回 Date 对象的毫秒(0 ~ 999)。 25 console.log(myDate.getMilliseconds()); // 389 26 // getTime() 返回 1970 年 1 月 1 日至今的毫秒数。 27 console.log(myDate.getTime()); // 1508813175137 28 // getTimezoneOffset() 返回本地时间与格林威治标准时间 (GMT) 的分钟差。 29 console.log(myDate.getTimezoneOffset()); // -480 30 </script>
1 <script type="text/javascript"> 2 // Date 对象用于处理日期和时间。 3 // Date 对象会自动把当前日期和时间保存为其初始值。 4 var myDate=new Date(); 5 console.log(myDate); // Tue Oct 24 2017 10:35:14 GMT+0800 (中国标准时间) 6 /****** 世界时相关的方法 ******/ 7 // getUTCDate() 根据世界时从 Date 对象返回月中的一天 (1 ~ 31)。 8 console.log("1=" + myDate.getUTCDate()); // 24 9 // getUTCDay() 根据世界时从 Date 对象返回周中的一天 (0 ~ 6)。 10 console.log(myDate.getUTCDay()); // 2 11 // getUTCMonth() 根据世界时从 Date 对象返回月份 (0 ~ 11)。 12 console.log(myDate.getUTCMonth()); // 9 13 // getUTCFullYear() 根据世界时从 Date 对象返回四位数的年份。 14 console.log(myDate.getUTCFullYear()); // 2017 15 // getUTCHours() 根据世界时返回 Date 对象的小时 (0 ~ 23)。 16 console.log(myDate.getUTCHours()); // 2 17 // getUTCMinutes() 根据世界时返回 Date 对象的分钟 (0 ~ 59)。 18 console.log(myDate.getUTCMinutes()); // 50 19 // getUTCSeconds() 根据世界时返回 Date 对象的秒钟 (0 ~ 59)。 20 console.log(myDate.getUTCSeconds()); // 35 21 // getUTCMilliseconds() 根据世界时返回 Date 对象的毫秒(0 ~ 999)。 22 console.log(myDate.getUTCMilliseconds()); // 364 23 24 // parse() 返回1970年1月1日午夜到指定日期(字符串)的毫秒数。 25 console.log(Date.parse("Jul 8, 2005")); // 1120752000000 26 </script>
1 <script type="text/javascript"> 2 // Date 对象用于处理日期和时间。 3 // Date 对象会自动把当前日期和时间保存为其初始值。 4 var myDate=new Date(); 5 console.log(myDate); // Tue Oct 24 2017 11:10:47 GMT+0800 (中国标准时间) 6 7 /****** set相关的方法 ******/ 8 // setDate() 设置 Date 对象中月的某一天 (1 ~ 31)。 9 myDate.setDate(15); 10 console.log(myDate); // Sun Oct 15 2017 11:10:47 GMT+0800 (中国标准时间) 11 12 // setMonth() 设置 Date 对象中月份 (0 ~ 11)。 13 // 语法格式:dateObject.setMonth(month,day) 14 // month 必需。一个表示月份的数值,该值介于 0(一月) ~ 11(十二月) 之间。 15 // day 可选。一个表示月的某一天的数值,该值介于 1 ~ 31 之间(以本地时间计)。在 EMCAScript标准化之前,不支持该参数。 16 myDate.setMonth(0); 17 console.log(myDate); // Sun Jan 15 2017 11:10:47 GMT+0800 (中国标准时间) 18 19 // setFullYear() 设置 Date 对象中的年份(四位数字)。 20 // 语法格式:dateObject.setFullYear(year,month,day) 21 myDate.setFullYear(2018); 22 console.log(myDate); // Mon Jan 15 2018 11:10:47 GMT+0800 (中国标准时间) 23 // setYear() 请使用 setFullYear() 方法代替。 24 // console.log(); 25 26 // setHours() 设置 Date 对象中的小时 (0 ~ 23)。 27 myDate.setHours(22); 28 console.log(myDate); // Mon Jan 15 2018 22:10:47 GMT+0800 (中国标准时间) 29 30 // setMinutes() 设置 Date 对象中的分钟 (0 ~ 59)。 31 myDate.setMinutes(58); 32 console.log(myDate); // Mon Jan 15 2018 22:58:47 GMT+0800 (中国标准时间) 33 34 // setSeconds() 设置 Date 对象中的秒钟 (0 ~ 59)。 35 myDate.setSeconds(58); 36 console.log(myDate); // Mon Jan 15 2018 22:58:58 GMT+0800 (中国标准时间) 37 38 // setMilliseconds() 设置 Date 对象中的毫秒 (0 ~ 999)。 39 myDate.setMilliseconds(988); 40 console.log(myDate); // Mon Jan 15 2018 22:58:58 GMT+0800 (中国标准时间) 41 42 // setTime() 以毫秒设置 Date 对象。 43 myDate.setTime(77771564221); 44 console.log(myDate); // Mon Jun 19 1972 11:12:44 GMT+0800 (中国标准时间) 45 </script>
1 <script type="text/javascript"> 2 // Date 对象用于处理日期和时间。 3 // Date 对象会自动把当前日期和时间保存为其初始值。 4 var myDate=new Date(); 5 console.log(myDate); // Tue Oct 24 2017 11:10:47 GMT+0800 (中国标准时间) 6 7 /****** set相关的方法 ******/ 8 // setUTCDate() 根据世界时设置 Date 对象中月份的一天 (1 ~ 31)。 9 console.log(); 10 // setUTCMonth() 根据世界时设置 Date 对象中的月份 (0 ~ 11)。 11 console.log(); 12 // setUTCFullYear() 根据世界时设置 Date 对象中的年份(四位数字)。 13 console.log(); 14 // setUTCHours() 根据世界时设置 Date 对象中的小时 (0 ~ 23)。 15 console.log(); 16 // setUTCMinutes() 根据世界时设置 Date 对象中的分钟 (0 ~ 59)。 17 console.log(); 18 // setUTCSeconds() 根据世界时设置 Date 对象中的秒钟 (0 ~ 59)。 19 console.log(); 20 // setUTCMilliseconds() 根据世界时设置 Date 对象中的毫秒 (0 ~ 999)。 21 console.log(); 22 </script>
1 <script type="text/javascript"> 2 // Date 对象用于处理日期和时间。 3 // Date 对象会自动把当前日期和时间保存为其初始值。 4 var myDate=new Date(); 5 console.log(myDate); // Tue Oct 24 2017 11:20:07 GMT+0800 (中国标准时间) 6 7 /***** to相关的方法 *****/ 8 // toSource() 返回该对象的源代码。 9 /*function employee(name,job,born){ 10 this.name=name; 11 this.job=job; 12 this.born=born; 13 }*/ 14 //var bill = new employee("Bill Gates","Engineer",1985); 15 //console.log(bill.toSource()); // Chrome bill.toSource is not a function 16 17 // toString() 把 Date 对象转换为字符串。 18 console.log(myDate.toString()); // Tue Oct 24 2017 11:20:07 GMT+0800 (中国标准时间) 19 // toTimeString() 把 Date 对象的时间部分转换为字符串。 20 console.log(myDate.toTimeString()); // 11:20:07 GMT+0800 (中国标准时间) 21 // toDateString() 把 Date 对象的日期部分转换为字符串。 22 console.log(myDate.toDateString()); // Tue Oct 24 2017 23 // toGMTString() 请使用 toUTCString() 方法代替。 24 console.log(myDate.toGMTString()); // Tue, 24 Oct 2017 03:20:07 GMT 25 // toUTCString() 根据世界时,把 Date 对象转换为字符串。 26 console.log(myDate.toUTCString()); // Tue, 24 Oct 2017 03:20:07 GMT 27 // toLocaleString() 根据本地时间格式,把 Date 对象转换为字符串。 28 console.log(myDate.toLocaleString()); // 2017/10/24 上午11:20:07 29 // toLocaleTimeString() 根据本地时间格式,把 Date 对象的时间部分转换为字符串。 30 console.log(myDate.toLocaleTimeString()); // 上午11:20:07 31 // toLocaleDateString() 根据本地时间格式,把 Date 对象的日期部分转换为字符串。 32 console.log(myDate.toLocaleDateString()); // 2017/10/24 33 // UTC() 根据世界时返回 1997 年 1 月 1 日 到指定日期的毫秒数。 34 console.log(Date.UTC()); // NaN 35 // valueOf() 返回 Date 对象的原始值。 36 console.log(myDate.valueOf()); // 1508815207388 37 </script>