關於js中的時間——計算時間差等


獲取當前(系統)時間:

var NowDate= new Date(); 
// 獲取當前日期時間
// 輸出為: Wed May 03 2017 14:52:08 GMT+0800 (中國標准時間)

NowDate.toLocaleString( );
// 獲取當前日期時間
// 輸出為:yyyy-MM-dd hh:mm:ss

NowDate.toLocaleTimeString();
// 獲取當前時間
// 輸出為:hh:mm:ss

NowDate.toLocaleDateString();
// 獲取當前日期
// 輸出為:yyyy-MM-dd

NowData.getFullYear();    // 獲取當前年(yyyy  1970~????)
NowData.getMonth();      // 獲取當前月 (0~11月,0表示1月)
NowData.getDate();        // 獲取當前日 (1~31)
NowData.getDay();         // 獲取當前星期 (0~6  0表示周天)
NowData.getTime();       //  獲取毫秒數 (從1970年1月1日 到現在的毫秒數)
NowData.getHours();     // 獲取小時數 (0~23  0表示24點)
NowData.getMinutes();  // 獲取分鍾數 (0~59)
NowData.getSeconds(); // 獲取秒數 (0~59)
NowData.getMilliseconds();  // 獲取當前毫秒數(0~999)

字符串轉date類型

/**
    ** 字符串類型轉date類型
    ** 參數: str  待轉字符串(yyyy-MM-dd hh:mm:ss)
    ** 返回: date類型時間對象
*/
function stringToDate(str){
    var tempStrs = str.split(" ");  //截取時間
    // 解析日期部分
    var dateStrs = tempStrs[0].split("-");
    var year = parseInt(dateStrs[0], 10);
    var month = parseInt(dateStrs[1], 10) - 1;
    var day = parseInt(dateStrs[2], 10);
    // 解析時間部分
    var timeStrs = tempStrs[1].split(":");
    var hour = parseInt(timeStrs [0], 10);
    var minute = parseInt(timeStrs[1], 10);
    var second = parseInt(timeStrs[2], 10);
    var date = new Date(year, month, day, hour, minute, second);
    return date;
}

計算距離當前時間的時間差

function getDtime(Timestr){
    var rDate = {};
    var tempStrs = Timestr.split(" ");  //截取時間
    var dateStrs = tempStrs[0].split("-");  // 解析日期部分
    var timeStrs = tempStrs[1].split(":");  // 解析時間部分
    // 獲得目標時間對象
    var finallyDate = new Date(parseInt(dateStrs[0], 10), 
                                (parseInt(dateStrs[1], 10) - 1), 
                                parseInt(dateStrs[2], 10), 
                                parseInt(timeStrs [0], 10), 
                                parseInt(timeStrs[1], 10), 
                                parseInt(timeStrs[2], 10));
    var NowDate = new Date();   // 獲取當前時間
    var Dtime = finallyDate - NowDate;  // 計算時間差
    // 填充時間差對象
    rDate.days=Math.floor(Dtime/(24*3600*1000));
    var leave1=Dtime%(24*3600*1000);
    rDate.hours=Math.floor(leave1/(3600*1000));
    var leave2=leave1%(3600*1000);
    rDate.minutes=Math.floor(leave2/(60*1000));
    var leave3=leave2%(60*1000);
    rDate.seconds=Math.round(leave3/1000);
    return rDate;
}

歡迎提意見,有更好的封裝請留言。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM