JS 中的日期時間操做計算實例

實例編程

:已知日期格式爲 "YYYY/MM/DD",計算相對於今天的天數差。code

function fromNow(date){
    var mTimes = new Date(date);
    var fromTimes = Date.now() - mTimes.valueOf();
    return Math.floor(fromTimes/(24*60*60*1000));
}

var date = "2015/09/18";
console.log(fromNow(date));//3

:以固定格式式輸出n天后的日期對象

function afterToday(n){
    var endTimes = Date.now() + n*24*60*60*1000;
    var endDate = new Date(endTimes);
    return endDate.getFullYear()+"/"+(endDate.getMonth()+1)+"/"+endDate.getDate();
}

console.log(afterToday(2));//2016/09/23

:輸出肯定日期 n 天后的日期,格式爲 "YYYY/MM/DD"字符串

function afterDate(date,n){
    var mTimes = new Date(date);
    var endTimes = mTimes.valueOf() + n*24*60*60*1000;
    var endDate = new Date(endTimes);
    return endDate.getFullYear()+"/"+(endDate.getMonth()+1)+"/"+endDate.getDate();
}

afterDate("2016/02/28",1);//2016/02/29

說明get

首先說明寫這篇文章的意圖,時間操做是在js編程的經常使用的操做,在通常的應用中,對時間的同步要求並不會高,大多會使用本機時間,這也讓Date的API顯得繁重。咱們只須要深刻的理解幾種經常使用的方法,就能夠駕馭 Date ,而不用頻繁的依賴第三方。這裏咱們僅僅操做日期,不處理time。原型

Date 對象是 js 內置對象,其中封裝了所有的關於時間操做的方法,均聲明在其原型屬性中,其constructor中有兩個經常使用的方法,now()和parse(),其返回都是,70年到如今通過的毫秒數。還有一個返回毫秒數的方法是實例的valueOf()方法,直接操做毫秒,會讓咱們在計算日期關係上更加靈活和精確。再將毫秒轉化爲日期時,只須要調用 Date 的實例構造方法,拼裝字符串便可。同步

在實踐應用中,還會有各類各樣的關於時間操做的需求,歡迎補充,我都將一一解答。(原創內容,歡迎轉載)io

相關文章
相關標籤/搜索