Heim > php教程 > php手册 > 计算过去N月每个自然月的起止时间戳

计算过去N月每个自然月的起止时间戳

WBOY
Freigeben: 2016-06-06 19:38:15
Original
1150 Leute haben es durchsucht

适用于需要按自然月度分析数据的场合 无 /** * 计算过去N月每个自然月的起止时间戳,包括当前月份 * @param integer $max 月份数,默认为6 * @param string $monthstr 返回值数组的第三个下标(具体月份的表示形式) * @return array 每个子数组形式array(月起

适用于需要按自然月度分析数据的场合
/**
 * 计算过去N月每个自然月的起止时间戳,包括当前月份
 * @param  integer $max      月份数,默认为6
 * @param  string  $monthstr 返回值数组的第三个下标(具体月份的表示形式)
 * @return array            每个子数组形式array(月起始时间戳,月结束时间戳,月份名称)
 */
function month_offset($max= 6,$monthstr = 'ym'){
	if ($max<=0) {
		return false;
	}
	$base = date('Y-m-01');
	$y = 1;
	$mo = array();
	$mo[0][0] = strtotime($base);
	$mo[0][1] = time();
	$mo[0][2] = date('ym');
	while ($y < $max) {
		$mo[$y][0] = strtotime(date('Y-m-01',strtotime($base.' -'.$y.' month')));
		$mo[$y][1] = $y == 1?$mo[0][0]:$mo[$y-1][0];
		$mo[$y][2] = date($monthstr,$mo[$y][0]);
		$y++;
	}
	return array_reverse($mo);
}

var_export(month_offset(3));
exit;
/*array (
  0 => 
  array (
    0 => 1425139200,
    1 => 1427817600,
    2 => '1503',
  ),
  1 => 
  array (
    0 => 1427817600,
    1 => 1430409600,
    2 => '1504',
  ),
  2 => 
  array (
    0 => 1430409600,
    1 => 1430702254,
    2 => '1505',
  ),
)[Finished in 0.1s]*/
Nach dem Login kopieren
Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage