时间戳(timestamp)是指格林威治时间 1970年 01月 01日 00时 00分 00秒 (北京时间1970年01月01日08时00分00秒)起至现在的总毫秒数。
Date.parse( datestring )
parse( ) 方法可以解析一个日期的时间字符串,并返回 1970/01/01 午夜距离该日期时间的毫秒数
1
2
3
4
5
6
7
8
|
var timeDifference = Date.parse( '2005/7/8' );
console.log(timeDifference);
var years = timeDifference/(365*24*60*60*1000);
console.log( '从1970年1月1日到2005年7月8日已经过了:' +years + '年了!' );
|
dateObject.getTime( )
返回 dateObject 指定的日期和时间据 1970/01/01午夜(GMT时间)之间的毫秒数
1
2
3
4
5
6
|
var now = new Date();
var diffMilliSec = now.getTime();
console.log( '1970/01/01至当前时间的毫秒数:' +diffMilliSec);
|
Date( )
返回当前(执行程序那一刻)的时间和日期
1
2
3
4
|
var now = new Date();
console.log( '当前时间是:' +now);
|
(1)、按照某种格式输出一个日期对象
new Date('yyyy/mm/dd hh:mm:ss') / new Date(yyyy,mm,dd,hh,mm,ss);
1
2
3
4
5
6
7
|
var time1 = new Date( '2016-08-25 12:26:36' );
console.log(time1);
var time2 = new Date(2008,09,12,08,08,08);
console.log(time2);
|
(2)、用毫秒数创建一个对象
new Date( ms );
1
2
3
|
var time3 = new Date(1120752000000);
console.log(time3);
|
dateObject.getFullYear( )
返回是一个四位数的年份
1
2
3
4
5
6
|
var now = new Date();
var year = now.getFullYear();
console.log( '当前时间的年份是:' +year);
|
dateObject.getMonth( )
返回值是 0(一月份)到 11(十二月份)之间的一个整数
1
2
3
4
5
6
|
var now = new Date();
var month = now.getMonth()+1;
console.log( '当前时间的月份是:' +month);
|
dateObject.getDate( )
返回值是 1 ~ 31 之间的一个整数
1
2
3
4
5
6
|
var now = new Date();
var date = now.getDate();
console.log( '当前时间是:' +date + '号' );
|
dateObject.getDay( )
返回值是 0(周日)到 6(周六)之间的一个整数
1
2
3
4
5
6
|
var now = new Date();
var day = now.getDay();
console.log( '当前时间是星期:' +day);
|
dateObject.getHours( )
返回值是 0(午夜24点)到 23(晚上11点)之间的一个整数
1
2
3
4
5
6
7
|
var now = new Date();
var hour = now.getHours();
hour = hour<10?0+hour:hour;
console.log( '当前时间的小时是:' + now);
|
dateObject.getMinutes( )
返回值是 0 ~ 59 之间的一个整数
1
2
3
4
5
6
7
|
var now = new Date();
var minute = now.getMinutes();
minute = minute<10?0+minute:minute;
console.log( '当前时间的分钟数是:' +minute);
|
dateObject.getSeconds( )
返回值是 0 ~ 59 之间的一个整数
1
2
3
4
5
6
7
|
var now = new Date();
var second = now.getSeconds();
second = second<10?0+second:second;
console.log( '当前时间的秒数是:' +second);
|
dateObject.getMilliseconds( )
返回值是 0 ~ 999 之间的一个整数(如果该值小于 100,则仅返回两位数字,如果该值小于 10,则仅返回一位数字。)
1
2
3
4
5
6
|
var now = new Date();
var millisecond = now.getMilliseconds();
console.log( '当前时间的毫秒数是:' +millisecond);
|
dateObject.getTimezoneOffset( )
返回本地时间与 GMT时间之间的时间差,以分钟为单位
返回之所以以分钟计,而不是以小时计,原因是某些国家所占有的时区甚至不到一个小时的间隔
1
2
3
4
5
6
|
var now = new Date();
var diff= now.getTimezoneOffset();
console.log( '本地时间与GMT时间的时间差是:' +diff + '分钟' );
|
注意:两个日期对象可相减,结果是毫秒差
dateObject.toString( )
将 dateObject 输出为国际标准时间格式
1
2
3
4
5
|
var now = new Date();
var t1 = now.toString();
console.log( '将当前时间输出为国际标准格式:' +t1);
|
dateObject.toLocaleString( )
将 dateObject 输出为当地完整标准时间格式
1
2
3
4
5
|
var now = new Date();
var t2 = now.toLocaleString();
console.log( '将当前时间输出为本地标准时间格式:' +t2);
|
dateObject.toLocaleDateString( )
将 dateObject 输出为当地时间格式,仅包含日期
1
2
3
4
5
|
var now = new Date();
var t3 = now.toLocaleDateString();
console.log( '当地时间格式,仅包含日期:' +t3);
|
dateObject.toLocaleTimeString( )
将 dateObject 输出为当地时间格式,仅包含日期
1
2
3
4
5
|
var now = new Date();
var t4 = now.toLocaleTimeString();
console.log( '当地时间格式,仅包含时间:' +t4);
|
马上就双十二剁手节了,咱们也可以把这些知识串起来做一个简单的抢购倒计时功能:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
|
<!DOCTYPE html>
< html >
< head lang = "en" >
< meta charset = "UTF-8" >
< meta http-equiv = "X-UA-Compatible" content = "IE=edge" >
< meta name = "format-detection" content = "telephone=no" />
< meta name = "format-detection" content = "email=no" />
< meta name = "viewport" content = "width=device-width, initial-scale=1" >
< title ></ title >
< style >
#timeArea{color:#f00;}
#timeArea span{
border:1px solid #ddd;
padding:5px;
margin:0 5px;
-webkit-border-radius:5px; -moz-border-radius:5px; border-radius:5px;
}
</ style >
</ head >
< body >
< div id = "timeArea" ></ div >
< script src = "dist/js/jquery-1.8.3.min.js" ></ script >
< script >
countDown();
function countDown(){
//定义抢购开始的时间
var start = new Date('2016/12/9 00:00:00');
//把开始的时间转为毫秒数
start = Date.parse(start);
//定义抢购结束的时间
var end = new Date('2016/12/10 23:59:59');
//把结束的时间转为毫秒数
end = Date.parse(end);
//定义当前的时间
var now = new Date();
//把当前时间转为毫秒数
now = Date.parse(now);
var timeArea = $('#timeArea');
if(now< start ){
timeArea.html('抢购尚未开始,请耐心等待!')
}else if(now>end){
timeArea.html('抢购已经结束,请持续关注本站,祝您下轮抢购成功!')
}else{
//倒计时的时间的毫秒差
var diff = end - now;
var date = parseInt(diff/(24*60*60*1000));
//获取倒计时结束的小时数
var hour = parseInt(diff/(60*60*1000)-date*24);
hour=hour< 10 ?'0'+hour:hour;
//获取倒计时结束的分钟数
var minute = parseInt(diff/(60*1000) -date*24*60 -hour*60);
minute =minute<10?'0'+minute:minute;
//获取倒计时结束的秒数
var second = parseInt(diff/1000 - date*24*60*60 - hour*60*60 - minute*60);
timeArea.html('抢购剩余时间:<span>'+date+'</ span >天'+'< span >'+hour+'</ span >小时'+'< span >'+minute+'</ span >分钟'+'< span >'+second+'</ span >秒')
}
setTimeout('countDown()',1000);
}
</ script >
</ body >
</ html >
|
效果:

本文转自 frwupeng517 51CTO博客,原文链接:http://blog.51cto.com/dapengtalk/1881498