上边是纯算术算出来的,当然还有更简单的方法:
/**
* 判断某年的某月有多少天
* @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;
}
/**
* 判断某年的某月有多少天
* @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;
}
$d=cal_days_in_month(CAL_GREGORIAN,10,2005);
echo("There was $d <br><br>");
$i=2;
$y=2013;
echo date("t",strtotime("$y-$i"));
function get_day( $date )
{
$tem = explode('/' , $date); //切割日期 得到年份和月份
$year = $tem['0'];
$month = $tem['1'];
if( in_array($month , array( 1 , 3 , 5 , 7 , 8 , 01 , 03 , 05 , 07 , 08 , 10 , 12)))
{
$text = $year.'年的'.$month.'月有31天';
}
elseif( $month == 2 )
{
if ( $year%400 == 0 || ($year%4 == 0 && $year%100 !== 0) ) //判断是否是闰年
{
$text = $year.'年的'.$month.'月有29天';
}
else{
$text = $year.'年的'.$month.'月有28天';
}
}
else{
$text = $year.'年的'.$month.'月有30天';
}
return $text;
}
$i=2;
$y=2013;
echo get_day($y.'/'.$i);
如对本文有疑问,请提交到交流论坛,广大热心网友会为你解答!! 点击进入论坛