1. 程式人生 > 其它 >js的一些時間處理方法:日期差、日期轉換字串格式、獲取當前年月日、日期時間的加減:加年,加月,加日,加時,加分,加秒

js的一些時間處理方法:日期差、日期轉換字串格式、獲取當前年月日、日期時間的加減:加年,加月,加日,加時,加分,加秒

一、js求兩個日期之間的差:傳入的日期格式為:YYYY-MM-dd  【此原網址中還有其他js處理方法:http://www.cnblogs.com/Jacklovely/p/5888281.html
//+---------------------------------------------------  
//| 求兩個時間的天數差 日期格式為 YYYY-MM-dd   
//+---------------------------------------------------  
function daysBetween(DateOne,DateTwo)  
{   
    var OneMonth = DateOne.substring(5,DateOne.lastIndexOf ('-'));  
    
var OneDay = DateOne.substring(DateOne.length,DateOne.lastIndexOf ('-')+1);       var OneYear = DateOne.substring(0,DateOne.indexOf ('-'));          var TwoMonth = DateTwo.substring(5,DateTwo.lastIndexOf ('-'));       var TwoDay = DateTwo.substring(DateTwo.length,DateTwo.lastIndexOf ('-')+1);       var
TwoYear = DateTwo.substring(0,DateTwo.indexOf ('-'));          var cha=((Date.parse(OneMonth+'/'+OneDay+'/'+OneYear)- Date.parse(TwoMonth+'/'+TwoDay+'/'+TwoYear))/86400000);        return Math.abs(cha);   }  

 

 

二、js日期格式轉換:轉成YYYY-MM-dd格式
//時間格式化
    Date.prototype.Format = function (fmt) { //author: meizz 
        var o = {
            "M+": this.getMonth() + 1, //月份 
            "d+": this.getDate(), //日 
            "h+": this.getHours(), //小時 
            "m+": this.getMinutes(), //分 
            "s+": this.getSeconds(), //秒 
            "q+": Math.floor((this.getMonth() + 3) / 3), //季度 
            "S": this.getMilliseconds() //毫秒 
        };
        if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
        for (var k in o)
        if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
        return fmt;
    }

 

三、獲取當前年月日:2017-10-30
//獲取當前年月日
        var d = new Date();
        var dateStr = d.getFullYear()+"-"+(d.getMonth()+1)+"-"+d.getDate();

 

四、日期時間的加減:加年,加月,加日,加時,加分,加秒
function   DateAdd(interval,number,date)  
{  
/* 
  *   功能:實現VBScript的DateAdd功能. 
  *   引數:interval,字串表示式,表示要新增的時間間隔. 
  *   引數:number,數值表示式,表示要新增的時間間隔的個數. 
  *   引數:date,時間物件. 
  *   返回:新的時間物件. 
  *   var   now   =   new   Date(); 
  *   var   newDate   =   DateAdd( "d ",5,now); 
  *---------------   DateAdd(interval,number,date)   ----------------- 
  */  
        switch(interval)  
        {  
                case   ""   :   {  
                        date.setFullYear(date.getFullYear()+number);  
                        return   date;  
                        break;  
                }  
                case   ""   :   {  
                        date.setMonth(date.getMonth()+number*3);  
                        return   date;  
                        break;  
                }  
                case   ""   :   {  
                        date.setMonth(date.getMonth()+number);  
                        return   date;  
                        break;  
                }  
                case   ""   :   {  
                        date.setDate(date.getDate()+number*7);  
                        return   date;  
                        break;  
                }  
                case   ""   :   {  
                        date.setDate(date.getDate()+number);  
                        return   date;  
                        break;  
                }  
                case   ""   :   {  
                        date.setHours(date.getHours()+number);  
                        return   date;  
                        break;  
                }  
                case   ""   :   {  
                        date.setMinutes(date.getMinutes()+number);  
                        return   date;  
                        break;  
                }  
                case   ""   :   {  
                        date.setSeconds(date.getSeconds()+number);  
                        return   date;  
                        break;  
                }  
                default   :   {  
                        date.setDate(d.getDate()+number);  
                        return   date;  
                        break;  
                }  
        }  
}  
   
var   now   =   new   Date();  
//加五天.  
var   newDate   =   DateAdd( "",5,now);  
alert(newDate.toLocaleDateString())  
//加兩個月.  
newDate   =   DateAdd( "",2,now);  
alert(newDate.toLocaleDateString())  
//加一年  
newDate   =   DateAdd( "",1,now);  
alert(newDate.toLocaleDateString())