14.4 日期和时间
如果想要记录当前的日期和时间,可以使用JavaScript的Date对象。这个特殊的JavaScript对象允许你确定年份、月份、星期几、小时等。要使用它,创建一个变量并在其中存储一个新的Date对象,如下所示:
var now=new Date();
new Date()命令创建了一个Date对象,它包含了当前的日期和时间。一旦创建了,我们可以使用各种与日期相关的方法(参见表14-3)来访问时间和日期信息的不同部分。例如,要获取当前的年份,使用getFullYear()方法,如下所示:
var now=new Date();
var year=now.getFullYear();
注意:new Date()获取的当前时间和日期是由访问者的计算机确定的。换句话说,如果某人的计算机时钟设置不对,那么日期和时间也不准确。
14.4.1 获取月份
要从Date对象获取月份,使用getMonth()方法,它返回月份的数字:
var now=new Date();
var month=now.getMonth();
然而,这个方法返回的数字对人类来说没有意义(我们认为1表示1月),会少一个数字。例如,0表示1月,1表示2月,依此类推。如果想要获取一个数字能表示我们所认为的月份,只要给它加1就行了,如下所示:
var now=new Date();
var month=now.getMonth()+1;//matches the real month
没有内置的JavaScript命令能够告诉我们月份的名称。幸运的是,当我们想要确定月份的实际名称的时候,JavaScript奇怪的计数月份的方式却很方便。我们可以首先创建月份名称的一个数字,然后,使用该月份的索引编号来访问该名称,从而实现这一功能:
var months=['January','February','March','April','May',
'June','July','August','September',
'October','November','December'];
var now=new Date();
var month=months[now.getMonth()];
第1行创建了一个数组,它包含了所有12个月份的名称,按照它们出现的顺序(从January到December)。记住,我们使用索引编号来访问数组项,并且,数组是从0开始编号的(参见2.8.2节)。因此,要访问数组months的第一项,可以使用months[0]。因此,通过使用getMonth()方法,我们可以获取一个数字,以用作months数组的索引并由此获取该月份的名称。