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!