js日期方法

1.js得到指定日期的前几天的日期

function getBeforeDay(day,fate)
  { 
   var aDate=day.split("-");
   var oDate=new Date(aDate[0],aDate[1]-1,aDate[2]);
   var tt=oDate.getTime()-1000*60*60*24*fate;
   var days=new Date(tt);
   return days.Format("yyyy-MM-dd");
  } 
// 对Date的扩展,将 Date 转化为指定格式的String
		// 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符, 
		// 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字) 
		// 例子: 
		// (new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423 
		// (new Date()).Format("yyyy-M-d h:m:s.S")      ==> 2006-7-2 8:9:4.18 
		Date.prototype.Format=function(fmt) 
		{ 
    		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;
		}

2.js获取指定日期的上个月的最后一天

function getUpMonth(t)
		{
			var tarr=t.split('-');
    		var year=tarr[0];                //获取当前日期的年
    		var month=tarr[1];            //获取当前日期的月
    		var day=tarr[2];                //获取当前日期的日   
    		var year2=year;
    		var month2=parseInt(month)-1;
    		if(month2==0) 
    		{
        		year2=parseInt(year2)-1;
        		month2=12;
    		}
    		if(month2<10) 
    		{
        		month2='0'+month2;
    		}
    		day=getDaysInMonth(year2,month2);
    		var t2=year2+'-'+month2+'-'+day;
    		return t2;
		}
function getDaysInMonth(year,month)
		{
			month=parseInt(month,10)+1;
			var temp=new Date(year+"/"+month+"/0");
       		return temp.getDate();
 		}

3.js获得某一季度上一季度的开始日期

//获得某季度的上一季度的开始日期   
		//year:年 (yyyy)
		//month:月  MM
		function getPreQuarterStartTime(year,month)
		{
			var quarter=parseInt(month);
			var jd=0;
			if(quarter<=3)
			{
				jd=1;
			} 
			else if(quarter>3 && quarter<=6)
			{
				jd=2;
			}
			else if(quarter>6 && quarter<=9)
			{
				jd=3;
			}
			else if(quarter>9 && quarter<=12)
			{
				jd=4;
			}
			jd=jd-1;
			if(jd==0)
			{
				jd=4;
			}
  			switch(jd)
			{   
    				case 1 : return year+"-01-01";
    				case 2 : return year+"-04-01";
    				case 3 : return year+"-07-01";
    				case 4 : return year+"-10-01";
  			}
		}


4.js获得某一季度上一季度的结束日期

//获得某季度的上一季度的结束日期 
		//year:年 (yyyy)
		//month:月  MM  
		function getPreQuarterEndTime(year,month)
		{
			var quarter=parseInt(month);
			var jd=0;
			if(quarter<=3)
			{
				jd=1;
			} 
			else if(quarter>3 && quarter<=6)
			{
				jd=2;
			}
			else if(quarter>6 && quarter<=9)
			{
				jd=3;
			}
			else if(quarter>9 && quarter<=12)
			{
				jd=4;
			}   
			jd=jd-1;
			if(jd==0)
			{
				jd=4;
			}
  			switch(jd)
			{   
  				case 1 : return year+"-03-31";
  				case 2 : return year+"-06-30";
  				case 3 : return year+"-09-30";
 				case 4 : return year+"-12-31";
  			}  
		}


5.计算两个日期相差的天数

<span style="font-family:Arial;background-color: rgb(255, 255, 255);">  function DateDiff(sDate1,sDate2)
  {   
   var aDate,oDate1,oDate2,iDays;
   aDate=sDate1.split("-");  
         oDate1=new Date(aDate[0],aDate[1]-1,aDate[2]);
         aDate=sDate2.split("-");  
         oDate2=new Date(aDate[0],aDate[1]-1,aDate[2]);  
         iDays=parseInt(Math.abs(oDate1-oDate2) / (1000*60*60*24));    //把相差的毫秒数转换为天数  
         return iDays;  
     }</span>






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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值