Maison  >  Article  >  développement back-end  >  Comment déterminer combien de jours il y a dans un certain mois d'une certaine année en PHP

Comment déterminer combien de jours il y a dans un certain mois d'une certaine année en PHP

小云云
小云云original
2018-03-20 15:16:101560parcourir

J'ai récemment construit un système de règlement qui doit effectuer automatiquement le règlement à la fin du mois. Je dois donc d'abord déterminer si ce jour est le dernier jour du mois. L'algorithme est très simple. Notes. Cet article vous explique principalement comment PHP détermine si un certain jour est le dernier jour du mois. Combien de jours y a-t-il dans un certain mois de l'année ?

/**
 * 判断某年的某月有多少天
 * @return [type] [description]
 */
function daysInmonth($year='',$month=''){
	if(empty($year)) $year = date('Y');
	if(empty($month)) $month = date('m');
	if (in_array($month, array(1, 3, 5, 7, 8, '01', '03', '05', '07', '08', 10, 12))) {  
            $text = '31';  		 //月大
	}elseif ($month == 2 || $month == '02'){  
		if ( ($year % 400 == 0) || ( ($year % 4 == 0) && ($year % 100 !== 0) ) ) {   //判断是否是闰年  
			$text = '29';        //闰年2月
		} else {  
			$text = '28';  		 //平年2月
		}  
	} else {  
		$text = '30';  			 //月小
	}
	
	return $text;
}

Ce qui précède est calculé par arithmétique pure, bien sûr il existe une méthode plus simple :

/** 
 * 判断某年的某月有多少天 
 * @return [type] [description] 
 */  
function daysInmonth1($year='',$month=''){
	if(empty($year)) $year = date('Y');  
    if(empty($month)) $month = date('m');
	$day = '01';
	
	//检测日期是否合法
	if(!checkdate($month,$day,$year)) return '输入的时间有误';
	
	//获取当年当月第一天的时间戳(时,分,秒,月,日,年)
	$timestamp = mktime(0,0,0,$month,$day,$year);
	$result = date('t',$timestamp);
	return $result;
}

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn