JavaScript 1.9 Date类型
1.创建
var t = new Date();
alert(t); //Mon Apr 24 2017 09:06:17 GMT+0800 (中国标准时间)
注:当不为其传递参数时,返回的是当前日期和时间。
2.Date参数
Date类型参数是:从UTC时间1970年1月1日午夜至该日期为止经过的毫秒数。
为了简化这一计算过程,ECMAScript提供了两个方法:Date.parse()和Date.UTC()
这两个方法输入时间,返回毫秒数。
Date.parse()格式: | |
“月/日/年” | "1/21/2001" |
“英文月 日,年” | "January 21,2001" |
“英文星期 英文月 日 年 时:分:秒 时区” | "Tue May 25 2004 00:00:00 GMT-0700" |
“YYYY-MM-DDTHH:mm:ss.sssZ(ECMAScript5新增)” | "2004-05-25T00:00:00" |
Date.UTC()格式:月(0-11),日(1-31),时(0-23)且没有引号, 年,月必需的,其他缺省时,日=1,其他=0 | |
年,月,日,时,分,秒 | 2001,0,21,17,5,55 (2001年1月21日17:5:55) |
范例:
var t1 = new Date( Date.parse("1/21/2001") ); //相当于var t = new Date(980006400000);
alert(Date.parse("1/21/2001")); //980006400000
alert(t1); //Sun Jan 21 2001 00:00:00 GMT+0800 (中国标准时间)
var t2 = new Date( Date.UTC(2001,0,21,0,0,0) ); //相当于var t = new Date(980035200000);
alert(Date.UTC(2001,0,21,0,0,0)); //980035200000
alert(t2); //Sun Jan 21 2001 08:00:00 GMT+0800 (中国标准时间)
注:可以发现时间不一样,因为时间标准不同:parse基于本地时区创建,UTC基于GMT时区创建,相差了8时区,8*60*60*1000=28800 000毫秒。
简单写法:
var t1 = new Date( "1/21/2001" ); //是parse的简单写法
var t2 = new Date( 2001,0,21,0,0,0 ); //是UTC的简单写法
注:简单写法时,都基于本地时区创建。
alert(t1)=alert(t2)=Sun Jan 21 2001 00:00:00 GMT+0800 (中国标准时间)
3.Date.now()和+new Date(),返回当前时间毫秒数
var t1 = Date.now();
var t2 = +new Date();
alert(t1); //1492999608017
alert(t2); //1492999608017
注1:因为返回的是毫秒数,所以可以对t1,t2进行比较,计算。
注2:Date.now()是ECMAScript5新增的,+new Date()是原来就有的。
4.其他Date 对象方法
方法 | 描述 |
返回当日的日期和时间。 | |
从 Date 对象返回一个月中的某一天(1 ~ 31)。 | |
从 Date 对象返回一周中的某一天 (0 ~ 6),0是周日,1~6周一到周六 | |
从 Date 对象返回月份(0 ~ 11)。 | |
从 Date 对象以四位数字返回年份。 | |
请使用 getFullYear()方法代替。 | |
返回 Date 对象的小时(0 ~ 23)。 | |
返回 Date 对象的分钟(0 ~ 59)。 | |
返回 Date 对象的秒数(0 ~ 59)。 | |
返回 Date 对象的毫秒(0 ~ 999)。 | |
返回 1970 年1 月 1 日至今的毫秒数。 | |
返回本地时间与格林威治标准时间 (GMT) 的分钟差。 | |
根据世界时从 Date 对象返回月中的一天(1 ~ 31)。 | |
根据世界时从 Date 对象返回周中的一天(0 ~ 6)。 | |
根据世界时从 Date 对象返回月份(0 ~ 11)。 | |
根据世界时从 Date 对象返回四位数的年份。 | |
根据世界时返回 Date 对象的小时(0 ~ 23)。 | |
根据世界时返回 Date 对象的分钟(0 ~ 59)。 | |
根据世界时返回 Date 对象的秒钟(0 ~ 59)。 | |
根据世界时返回 Date 对象的毫秒(0 ~ 999)。 | |
返回1970年1月1日午夜到指定日期(字符串)的毫秒数。 | |
设置 Date 对象中月的某一天(1 ~ 31)。 | |
设置 Date 对象中月份(0 ~ 11)。 | |
设置 Date 对象中的年份(四位数字)。 | |
请使用 setFullYear() 方法代替。 | |
设置 Date 对象中的小时(0 ~ 23)。 | |
设置 Date 对象中的分钟(0 ~ 59)。 | |
设置 Date 对象中的秒钟(0 ~ 59)。 | |
设置 Date 对象中的毫秒(0 ~ 999)。 | |
以毫秒设置 Date 对象。 | |
根据世界时设置 Date 对象中月份的一天(1 ~ 31)。 | |
根据世界时设置 Date 对象中的月份(0 ~ 11)。 | |
根据世界时设置 Date 对象中的年份(四位数字)。 | |
根据世界时设置 Date 对象中的小时(0 ~ 23)。 | |
根据世界时设置 Date 对象中的分钟(0 ~ 59)。 | |
根据世界时设置 Date 对象中的秒钟(0 ~ 59)。 | |
根据世界时设置 Date 对象中的毫秒(0 ~ 999)。 | |
返回该对象的源代码。 | |
把 Date 对象转换为字符串。 | |
把 Date 对象的时间部分转换为字符串。 | |
把 Date 对象的日期部分转换为字符串。 | |
请使用 toUTCString() 方法代替。 | |
根据世界时,把 Date 对象转换为字符串。 | |
根据本地时间格式,把 Date 对象转换为字符串。 | |
根据本地时间格式,把 Date 对象的时间部分转换为字符串。 | |
根据本地时间格式,把 Date 对象的日期部分转换为字符串。 | |
根据世界时返回 1970 年1 月 1 日 到指定日期的毫秒数。 | |
返回 Date 对象的原始值。 |
5.实例:
/***************获得星期******************/
<script type="text/javascript">
var d=new Date();
var weekday=new Array(7);
weekday[0]="星期日";
weekday[1]="星期一";
weekday[2]="星期二";
weekday[3]="星期三";
weekday[4]="星期四";
weekday[5]="星期五";
weekday[6]="星期六";
document.write("今天是" + weekday[d.getDay()]);
</script>
/********************显示一个钟表*************************/
<html>
<head>
<script type="text/javascript">
function startTime()
{
var today=new Date();
var h=today.getHours();
var m=today.getMinutes();
var s=today.getSeconds();
// add a zero in front of numbers<10
m=checkTime(m);
s=checkTime(s);
document.getElementById('txt').innerHTML=h+":"+m+":"+s;
setTimeout('startTime()',500); //500毫秒之后,调用函数自身
}
function checkTime(i)
{
if (i<10)
{i="0" + i}
return i
}
</script>
</head>
<body οnlοad="startTime()">
<div id="txt"></div>
<p>===========================</p>
</body>
</html>