new Date()返回的是object
var d= new Date();
typeof d // "object"
date的屬性方法,都是從構造函數Date()的原型中拿的
獲取當前幾號
var d= new Date();
d.getDate()
獲取當前星期幾
var d= new Date();
d.getDay()
返回值是按照西方習慣的,星期日返回0
獲取當前月份
var d= new Date();
d.getMonth()
注意月份是從0開始的,如果當前是6月,返回值是5
獲取復合當地習慣的,完整日期表示
對于YYYY-MM-DD形式的字符串,JavaScript引擎可能會將其當作ISO格式來解析,采用格林尼治時區作為計時標準;
而對于其他格式的日期字符串,一律視為非ISO格式,采用本地時區作為計時標準。
var d= new Date();
d.toLocaleString()
d.toLocaleDateString()
d.toLocaleTimeString()
需要注意的幾個時間
//注意區時的問題
new Date() // Sun Jun 25 2017 17:37:21 GMT+0800 (中國標準時間)
new Date("2017-06-26") // Mon Jun 26 2017 08:00:00 GMT+0800 (中國標準時間)
new Date("2017,06,26") // Mon Jun 26 2017 00:00:00 GMT+0800 (中國標準時間)
獲取日期間隔
用兩個日期相減可以獲取間隔的毫秒數
var d1 = new Date(2000, 2, 1);
var d2 = new Date(2000, 3, 1);
d2 - d1
// 2678400000
獲取從當前時間到指定日期的間隔時間
類型轉換時,Date對象的實例如果轉為數值,則等于對應的毫秒數;如果轉為字符串,則等于對應的日期字符串。所以,兩個日期對象進行減法運算,返回的就是它們間隔的毫秒數;進行加法運算,返回的就是連接后的兩個字符串。
function countdown(str){
var newstr=str.split('-').join(',') //輸出
var endTime=new Date(newstr);
var nowTime=new Date();
var distance=endTime-nowTime;
console.log(distance);
var day=Math.floor(distance/(24*60*60*1000));
var hour=Math.floor(distance/(60*60*1000)%24);
var minute=Math.floor(distance/(60*1000)%60);
var second=Math.floor(distance/1000%60);
console.log('距離十一長假還有'+ day+'天'+ hour +'時'+ minute+'分'+second+'秒')
}
countdown('2017-10-01')