javascript 常用的日期函數

來源:互聯網
上載者:User

 

//判斷是否是日期

//note:不能準確判斷閏年的2月日期,需用js另外處理

function isDate(str)
{
    var patt=/^(((([1-9])|(0[1-9])|(1[012]))[-./]((0?/d)|([12]/d)|(3[01]))[-./](19|20)/d{2})|((19|20)/d{2}[-./](([1-9])|(0[1-9])|(1[012]))[-./]((0?/d)|([12]/d)|(3[01]))))$/;
    return patt.test(str);
}

//返回系統日期時間

//參考http://blog.csdn.net/avon520/archive/2008/06/13/2544133.aspx

function getSystemDateTime()
{
    var now=new Date();
    //date
    var yyyy=now.getFullYear().toString();
    var month=now.getMonth()+1;//月份需+1運算
    var MM=month.toString().length==1?"0"+month.toString():month.toString();
    var dd=now.getDate().toString().length==1?"0"+now.getDate().toString():now.getDate().toString();
    //time
    var h=now.getHours().toString();
    var m=now.getMinutes().toString();
    var s=now.getSeconds().toString();
 
    return MM+"/"+dd+"/"+yyyy+" "+h+":"+m+":"+s ; // 09/25/2008 15:37:5
}

 

 

//日期計算

//返回date1-date2的天數

//note: 兩個日期直接相減,返回的是相差的毫秒數。

 function  dateDiff(date1,date2)
 {
    if(date1>date2)
        return parseInt(Math.abs(date1-date2)/1000/60/60/24);
    else
        return 0-parseInt(Math.abs(date2-date1)/1000/60/60/24);
 }

 

 //返回指定的年月有多少天

function daysInMonth(iMonth, iYear)
{
    var days=0;
    if(iMonth==2)
    {
        if (iYear%4==0 && (iYear%100 !=0 || iYear%400 == 0))
            days = 29;      
        else                
            days = 28;                   
    }
    else
    {
      days = 32 - new Date(--iMonth, iMonth, 32).getDate();
    }
   
    return days;
}

 

//toStringFormat(FormatString)

Date.prototype.toStringFormat = function(FormatString)
{
    //date
    var yyyy=this.getFullYear().toString();
    var M=(this.getMonth()+1).toString();
    var MM=M.length==1?"0"+M:M;
    var d=this.getDate().toString();
    var dd=d.length==1?"0"+d:d;
    //time
    var h=this.getHours().toString();
    var hh=h.length==1?"0"+h:h;
    var m=this.getMinutes().toString();
    var mm=m.length==1?"0"+m:m;
    var s=this.getSeconds().toString();
    var ss=s.length==1?"0"+s:s;
    FormatString=FormatString.replace(/yyyy/g,yyyy);
    FormatString=FormatString.replace(/MM/g,MM);
    FormatString=FormatString.replace(/dd/g,dd);
    FormatString=FormatString.replace(/hh/g,hh);
    FormatString=FormatString.replace(/mm/g,mm);
    FormatString=FormatString.replace(/ss/g,ss);
    FormatString=FormatString.replace(/M/g,M);
    FormatString=FormatString.replace(/d/g,d);
    FormatString=FormatString.replace(/h/g,h);
    FormatString=FormatString.replace(/m/g,m);
    FormatString=FormatString.replace(/s/g,s);
    return FormatString;
}

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.