php 取開始時間和結束時間所跨越的所有季度時間

2022-08-15 01:48:17 字數 2516 閱讀 5304

/*

* 由起止日期算出其中所跨的季度 和各季度開始結束時間

* params

* $st:開始日期 y-m-d格式

* $et:結束日期 y-m-d格式 */

function getquarter($st,$et

)

//取開始時間是屬於第幾季度

$season_st = ceil((date('n',$stime))/3);

$year_st = date('y',$stime

);

//取結束時間是屬於第幾季度

$season_et = ceil((date('n',$etime))/3);

$year_et = date('y',$etime

);

//echo $year_st.$season_st,$year_et.$season_et;

$return = array

();

$times = array

();

if($year_st == $year_et)

}else

}elseif($i != $j

) }

else}}

}return

$times;}

/** 取某個季度的開始和結束時間

* $year 年份,如2014

* $season 季度,1、2、3、4 */

function getquarterdate($year,$season

)

例:

getquarter('2011-09-08','2014-07-11');

結果:

array

( [2011q3] => array

([0] => 2011-07-01 00:00:00

[1] => 2011-09-30 23:59:59

)[2011q4] => array

([0] => 2011-10-01 00:00:00

[1] => 2011-12-31 23:59:59

)[2012q1] => array

([0] => 2012-01-01 00:00:00

[1] => 2012-03-31 23:59:59

)[2012q2] => array

([0] => 2012-04-01 00:00:00

[1] => 2012-06-30 23:59:59

)[2012q3] => array

([0] => 2012-07-01 00:00:00

[1] => 2012-09-30 23:59:59

)[2012q4] => array

([0] => 2012-10-01 00:00:00

[1] => 2012-12-31 23:59:59

)[2013q1] => array

([0] => 2013-01-01 00:00:00

[1] => 2013-03-31 23:59:59

)[2013q2] => array

([0] => 2013-04-01 00:00:00

[1] => 2013-06-30 23:59:59

)[2013q3] => array

([0] => 2013-07-01 00:00:00

[1] => 2013-09-30 23:59:59

)[2013q4] => array

([0] => 2013-10-01 00:00:00

[1] => 2013-12-31 23:59:59

)[2014q1] => array

([0] => 2014-01-01 00:00:00

[1] => 2014-03-31 23:59:59

)[2014q2] => array

([0] => 2014-04-01 00:00:00

[1] => 2014-06-30 23:59:59

)[2014q3] => array

([0] => 2014-07-01 00:00:00

[1] => 2014-09-30 23:59:59

))

getquarter('2014-06-28','2014-07-11');

結果:

array

( [2014q2] => array

([0] => 2014-04-01 00:00:00

[1] => 2014-06-30 23:59:59

)[2014q3] => array

([0] => 2014-07-01 00:00:00

[1] => 2014-09-30 23:59:59

))

elementui設定開始時間 結束時間

注 如果想去掉彈框中的 此刻按鈕 此文章 效果1 開始時間不能選擇當前日期之前的日期 效果2 結束時間不能選擇開始日期之前的日期 選擇開始時間 el date picker div littlemargin v model value.promotionendtime value format yy...

JS獲取開始 結束時間

獲取本週 本季度 本月 上月的開始日期 結束日期 var now new date 當前日期 var nowdayofweek now.getday 今天本週的第幾天 var nowday now.getdate 當前日 var nowmonth now.getmonth 當前月 var nowye...

laydate設定開始時間和結束時間 之間相互驗證

近期寫時間驗證,使用laydate 驗證開始時間和結束時間之間的時間驗證 特此記錄 var starttime laydate.render else trigger click var endtime laydate.render else trigger click 需要注意的是,定義初始化時一...