一、获取年、月、日

在JavaScript中,我们可以使用getFullYear()、getMonth()和getDate()方法分别来获取当前时间的年、月、日,如表所示。

获取年、月、日
方法 说明
getFullYear() 获取年份,取值为4位数字
getMonth() 获取月份,取值为0(一月)到11(十二月)之间的整数
getDate() 获取日数,取值为1~31之间的整数

举例:

<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title></title> <script> var d = new Date(); var myDay = d.getDate(); var myMonth = d.getMonth() + 1; var myYear = d.getFullYear(); document.write("今天是" + myYear + "年" + myMonth + "月" + myDay + "日"); </script> </head> <body> </body> </html>

浏览器预览效果如图所示。

分析:

细心的小伙伴会发现,var myMonth = d.getMonth() + 1;使用了“+1”。其实,getMonth()方法返回值是0(一月)到11(十二月)之间的整数,所以必须加上1,这样月份才正确。

此外还要注意,获取当前的“日”,不是使用getDay(),而是使用getDate(),大家要看清楚啦!对于getDay()方法,我们在后面“7.4 获取星期几”这一节会详细介绍,到时可以对比理解一下。

举例:

<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title></title> <script> var d = new Date(); var time = d.getHours(); if (time < 12) { document.write("早上好!"); //如果小时数小于12则输出“早上好!” } else if (time >= 12 && time < 18) { document.write("下午好!"); //如果小时数大于等于12并且小于18,输出“下午好!” } else { document.write("晚上好!"); //如果上面两个条件都不符合,则输出“晚上好!” } </script> </head> <body> </body> </html>

浏览器预览效果如图所示。

分析:

上面输出结果未必是“早上好”,这个是根据你当前时间来判断的。由于我现在测试的时间是早上8:00,所以会输出“早上好”。如果你是在15:00测试的,就会输出“下午好”,以此类推。

二、设置年、月、日

在JavaScript中,我们可以使用setFullYear()、setMonth()和setDate()方法来设置对象的年、月、日。

1.setFullYear()

setFullYear()可以用来设置年、月、日。

语法:

时间对象.setFullYear(year,month,day);

说明:

year表示年,是必选参数,用一个4位的整数表示,如2017、2020等。

month表示月,是可选参数,用0~11之间的整数表示。其中0表示1月,1表示2月,以此类推。

day表示日,是可选参数,用1~31之间的整数表示。

2.setMonth()

setMonth()可以用来设置月、日。

语法:

时间对象.setMonth(month, day);

说明:

month表示月,是必选参数,用0~11之间的整数表示。其中0表示1月,1表示2月,以此类推。

day表示日,是可选参数,用1~31之间的整数表示。

3.setDate()

setDate()可以用来设置日。

语法:

时间对象.setDate(day);

说明:

day表示日,是必选参数,用1~31之间的整数表示。

举例:

<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title></title> <script> var d = new Date(); d.setFullYear(1992, 09, 01); document.write("我设置的时间是:<br/>" + d); </script> </head> <body> </body> </html>

浏览器预览效果如图所示。

分析:

这里,小伙伴们可得留意了!getFullYear()只能获取年,但setFullYear()却可以同时设置年、月、日。同理,setMonth()和setDate()也有这个特点。