javascript 日期常用函数

//判断是否是日期

//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);
}

 

// 把字符串转换为日期 2012-09-24 09:36:00

function parseDate(str)     {
        return new Date(Date.parse(str.replace(/-/g, "/")));
    }

 

//返回系统日期时间

//参考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;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值