在任何一门开发语言中,对日期时间类型的处理,必不可少也非常重要,长期以来对于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>