时间、日期与日常生活息息相关,在JavaScript中专门用Date对象来处理时间、日期。
语法:
var 日期对象=new Date(参数)
参数格式:MM DD,YYYY,hh:mm:ss
可以通过 new 关键词来定义 Date 对象。还可以利用参数来初始化Date对象。
常用的方式有以下几种:
创建日期 |
---|
new Date(“month dd,yyyy hh:mm:ss”); |
new Date(“month dd,yyyy”); |
new Date(yyyy,mth,dd,hh,mm,ss); |
new Date(yyyy,mth,dd); |
new Date(ms); |
前面四种方式都是直接输入年月日等参数,最后一种方式的参数表示创建时间与GMT1970年1月1日0时0分0秒之间相差的毫秒数。
各个参数的含义如下:
日期时间参数含义 |
---|
yyyy:四位数表示的年份 |
month:用英文表示月份名称,值为January到December |
mth:用整数表示月份,值为0(1月)~11(12月)的整数 |
dd:表示一个月中的第几天,值为1~31的整数 |
hh:表示小时数,值为0~23的整数(24小时制) |
mm:表示分钟数,值为0~59的整数 |
ss:表示秒数,值为0~59的整数 |
ms:表示毫秒数,值为大于或等于0的整数 |
实例化一个日期的一些例子:
var today = new Date();
var d1 = new Date(“October 13, 1975 11:13:00”);
var d2 = new Date(“October 13, 1975”);
var d3 = new Date(1979,5,24,11,33,00);
var d4 = new Date(1979,5,24);
var d5 = new Date(1218197280000);
get方法 | 描述 |
---|---|
getDate() | 从 Date 对象返回一个月中的某一天 (1 ~ 31)。 |
getDay() | 从 Date 对象返回一周中的某一天 (0 ~ 6)。 |
getFullYear() | 从 Date 对象以四位数字返回年份。 |
getHours() | 返回 Date 对象的小时 (0 ~ 23)。 |
getMilliseconds() | 返回 Date 对象的毫秒(0 ~ 999)。 |
getMinutes() | 返回 Date 对象的分钟 (0 ~ 59)。 |
getMonth() | 从 Date 对象返回月份 (0 ~ 11)。 |
getSeconds() | 返回 Date 对象的秒数 (0 ~ 59)。 |
set方法 | 描述 |
---|---|
setDate() | 设置 Date 对象中月的某一天 (1 ~ 31)。 |
setFullYear() | 设置 Date 对象中的年份(四位数字)。 |
setHours() | 设置 Date 对象中的小时 (0 ~ 23)。 |
setMilliseconds() | 设置 Date 对象中的毫秒 (0 ~ 999)。 |
setMinutes() | 设置 Date 对象中的分钟 (0 ~ 59)。 |
setMonth() | 设置 Date 对象中月份 (0 ~ 11)。 |
setSeconds() | 设置 Date 对象中的秒钟 (0 ~ 59)。 |
通过Date对象的方法,可以很轻松的活的一个时间的详细信息,并任意的组合使用,使用 get方法。
案例展示:
DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Date对象title>
head>
<body>
<script>
var date = new Date();
console.log(date);
//通过date对象获取年月日、时分秒
var year =date.getFullYear();
//返回date对象中的月份(0-11表示1-12月)
var month = date.getMonth();
var day = date.getDate();
//获取星期,用0-6分别表示星期日~星期六,也就是0表示星期日,1表示星期一,2表示星期二,以此类推
var xingQi =date.getDay();
console.log(xingQi);
var str;
switch(xingQi){
case 0:
str='星期日';
break;
case 1:
str='星期一';
break;
case 2:
str='星期二';
break;
case 3:
str='星期三';
break;
case 4:
str='星期四';
break;
case 5:
str='星期五';
break;
case 6:
str='星期六';
break;
}
var hour = date.getHours();
var minute = date.getMinutes();
var second = date.getSeconds();
console.log(year+'年'+(month+1)+'月'+day+'日'+str+','+hour+':'+minute+':'+second);
script>
body>
html>
除了获取时间,很多时候还需要对时间进行设置。为此,Date对象同样提供了很多方法。方法如下:
通过这些方法可以很方便的设置某个Date对象的细节。
在下面的例子中,我们为日期对象设置了一个特定的日期 (2010 年 1 月 14 日):
var myDate=new Date();
myDate.setFullYear(2010,0,14);
在下面的例子中,我们将日期对象设置为 5 天后的日期:
var myDate=new Date();
myDate.setDate(myDate.getDate()+5);
注意: 如果增加天数会改变月份或者年份,那么日期对象会自动完成这种转换。
日期对象也可用于比较两个日期。
下面的代码将当前日期与 2100 年 1 月 14 日做了比较:
var x=new Date();
x.setFullYear(2100,0,14);
var today = new Date();
if (x>today)
{
alert("今天是2100年1月14日之前");
}
else
{
alert("今天是2100年1月14日之后");
}