JavaScript時間函數

時間對象

  • 創建基於當前時間的時間對象
new Date();
  • 基於傳遞的參數作爲時間對象
new Date(milliseconds); //milliseconds毫秒值

new Date(datestring); //一個字符串,聲明瞭日期,也可以同時聲明時間

new Date(year, month, day, hours, minutes, seconds, ms); //單獨指定年、月、日、時、秒、毫秒

搶購倒計時

//"剩餘時間6天 2小時 28 分鐘20 秒"
function getOverTime(endTime){
    var nowDate=new Date();  //開始時間,當前時間
    var endDate=new Date(endTime); //結束時間,需傳入時間參數
    var t=endDate.getTime()-nowDate.getTime();  //時間差的毫秒數
    var d=0,h=0,m=0,s=0;
    if(t>=0){
      d=Math.floor(t/1000/3600/24);
      h=Math.floor(t/1000/60/60%24);
      m=Math.floor(t/1000/60%60);
      s=Math.floor(t/1000%60);
    } 
    return "僅剩:"+d+"天"+h+"小時 "+m+"分鐘"+s+"秒";
}

//每一秒延時執行getOverTime(date)
console.log( getOverTime('2018-04-20 15:30' ) ); // 僅剩:21天23小時 4分鐘31秒
console.log( getOverTime('2018-03-30 12:30' ) ); // 僅剩:21天23小時 4分鐘31秒
setInterval(function(){
    console.log( getOverTime('2018-04-28 15:30') )
},1000);

微信朋友圈發佈的時間

function release_time(date){
    var startDate = new Date(date); //把當前傳入的時間轉化爲js時間對象
    var nowDate = new Date(); //創建一個當前的時間對象
    
    var cha=nowDate.getTime()-startDate.getTime(); //毫秒值差
    cha = Math.ceil(cha/1000);//毫秒轉化爲秒 

    var fenzhong=60;  // 一分鐘秒數
    var xiaoshi=60*60; // 一小時秒數
    var tian=60*60*24;  // 一天的秒數 
    var yue=60*60*24*30;  // 一月的秒數 
    var nian=60*60*24*30*12;  // 一年的秒數 
    //2016年6月   2018年4月    50s   
    if(cha > nian){
         return Math.floor(cha/nian)+'年前';
    }else if(cha > yue ){
        return Math.floor(cha/yue)+'月前';
    }else if(cha > tian ){
        return Math.floor(cha/tian)+'天前';
    }else if(cha > xiaoshi){
        return Math.floor(cha/xiaoshi)+'小時前';
    }else{
       return Math.floor(cha/fenzhong)>0?Math.floor(cha/fenzhong):1+'分鐘前';   
    }
}
console.log( release_time('2015-04-25 19:49') ); // 26分鐘前
console.log( release_time('2018-03-30 10:35') ); // 26分鐘前
console.log( release_time('2017-11-29 15:54') ); // 26分鐘前
console.log( release_time('2018-03-28 23:42') ); // 17小時前
console.log( release_time('2018-04-24 17:42') ); // 4天前
console.log( release_time('2018-04-25 21:16') ); // 4天前
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章