項目中遇到這么一個需求,用戶可以創(chuàng)建一個比賽掂僵,但要給比賽一個到期截止時間缓艳,并且最終會展現(xiàn)在頁面還有幾天到期。
我一開始想的思路是看峻,首先年月日的值分別加或者減阶淘,這就和小學(xué)學(xué)的加法要滿十進一是一個道理,但考慮到互妓,每個月的天數(shù)是不同溪窒,什么一三五七八十臘,三十一天永不差~
后來想到用毫秒數(shù)進行計算冯勉,這樣就不會受以上因素影響澈蚌。
demo:
var nowTime=new Date();//通過時間構(gòu)造函數(shù)進行實例化
var orderTime=new Date(2017,10,28);
//實例化并傳入要輸入的值,這里假設(shè)是2017-11-28灼狰,因為實例化后宛瞄,會有一個getTime()方法,此方法返回日期的毫秒數(shù)
var reduce=Math.ceil((orderTime.getTime()-nowTime.getTime())/86400000);
//毫秒數(shù)相減交胚,除以一天的毫秒數(shù)86400000份汗,這里要得到的是大約時間,所以用天花板函數(shù)向上取整
console.log(reduce)
這里涉及的時間的知識點請參考《 js高級程序設(shè)計》第5章引用類型 5.3Date類型