new Date()返回的是object
var d= new Date();
typeof d // "object"
date的屬性方法,都是從構(gòu)造函數(shù)Date()的原型中拿的
獲取當(dāng)前幾號
var d= new Date();
d.getDate()
獲取當(dāng)前星期幾
var d= new Date();
d.getDay()
返回值是按照西方習(xí)慣的骇吭,星期日返回0
獲取當(dāng)前月份
var d= new Date();
d.getMonth()
注意月份是從0開始的累颂,如果當(dāng)前是6月,返回值是5
獲取復(fù)合當(dāng)?shù)亓?xí)慣的,完整日期表示
對于YYYY-MM-DD形式的字符串王凑,JavaScript引擎可能會將其當(dāng)作ISO格式來解析,采用格林尼治時(shí)區(qū)作為計(jì)時(shí)標(biāo)準(zhǔn)聋丝;
而對于其他格式的日期字符串索烹,一律視為非ISO格式,采用本地時(shí)區(qū)作為計(jì)時(shí)標(biāo)準(zhǔn)弱睦。
var d= new Date();
d.toLocaleString()
d.toLocaleDateString()
d.toLocaleTimeString()
需要注意的幾個(gè)時(shí)間
//注意區(qū)時(shí)的問題
new Date() // Sun Jun 25 2017 17:37:21 GMT+0800 (中國標(biāo)準(zhǔn)時(shí)間)
new Date("2017-06-26") // Mon Jun 26 2017 08:00:00 GMT+0800 (中國標(biāo)準(zhǔn)時(shí)間)
new Date("2017,06,26") // Mon Jun 26 2017 00:00:00 GMT+0800 (中國標(biāo)準(zhǔn)時(shí)間)
獲取日期間隔
用兩個(gè)日期相減可以獲取間隔的毫秒數(shù)
var d1 = new Date(2000, 2, 1);
var d2 = new Date(2000, 3, 1);
d2 - d1
// 2678400000
獲取從當(dāng)前時(shí)間到指定日期的間隔時(shí)間
類型轉(zhuǎn)換時(shí)百姓,Date對象的實(shí)例如果轉(zhuǎn)為數(shù)值,則等于對應(yīng)的毫秒數(shù)况木;如果轉(zhuǎn)為字符串垒拢,則等于對應(yīng)的日期字符串。所以火惊,兩個(gè)日期對象進(jìn)行減法運(yùn)算求类,返回的就是它們間隔的毫秒數(shù);進(jìn)行加法運(yùn)算屹耐,返回的就是連接后的兩個(gè)字符串尸疆。
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 +'時(shí)'+ minute+'分'+second+'秒')
}
countdown('2017-10-01')