Maison >développement back-end >Problème PHP >Comment calculer le nombre total de jours pour une année, un mois et un jour donnés via PHP
Dans l'article précédent "Apprentissage PHP Array : Utilisation de l'algorithme à bulles pour trier les éléments par ordre croissant !" ", nous avons introduit la méthode d'utilisation de l'algorithme à bulles pour trier les éléments du tableau par ordre croissant. Cette fois, nous verrons comment utiliser PHP pour calculer le numéro d'une année, d'un mois et d'un jour donnés de cette année. Les amis intéressés peuvent en apprendre davantage ~
Le thème de cet article est implémenté via PHP : saisissez un certain. année, un certain mois et un certain jour ( Par exemple, le 5 mars 2000), calculez le nombre total de jours jusqu'à présent (il peut également être utilisé pour déterminer le jour de l'année où se situe ce jour).
Analyse de la pensée de mise en œuvre :
Si nous voulons calculer le nombre de jours au 5 mars, nous pouvons additionner tous les jours du 1er janvier au 5 mars ensemble.
Ensuite, nous devons trouver le nombre maximum de jours dans les mois précédant mars (janvier et février). Pour trouver le nombre maximum de jours dans un mois, nous pouvons utiliser la fonction suivante pour réaliser cette fonction [Pour une introduction détaillée, vous pouvez lire l'article " Comment PHP utilise-t-il les fonctions pour calculer le nombre maximum de jours dans une année et un mois donnés》】
function GetMaxDay($year,$month){ $time = strtotime("{$year}-{$month}"); //取得一个日期的 Unix 时间戳; $date=date("t",$time); return $date; }
Testez-le : affichez le nombre maximum de jours en février 2000
echo GetMaxDay(2000,2);
Parce que 2000 est une année bissextile, il y a 29 jours en février, ok.
Ensuite, il faut additionner ces jours maximum, ce qui nécessite d'utiliser une boucle (j'utilise une boucle for). L'année commence en janvier, donc la condition initiale est $i=1
; l'ajout doit être fait jusqu'au mois spécifié (mars), donc la condition de restriction est $i. <code>$i=1
;一直要相加到指定月(3月)之前,所以限制条件为 $i 。
$sum=0; for($i=1;$i<$month;$i++){ $sum += GetMaxDay($year,$i); }
测试一下,计算2000年3月之前的所有天数(31+29=60),看看是不是60天:
OK,功能实现了!
最后将获取的天数和$sum
和指定$month
的指定日$day
的天数相加即可。我们来看看完整代码:
输出结果:
好了,将求总天数的代码封装为一个功能函数:
"; } ?>
调用这个功能函数GetDays($year,$month,$day)
GetDays(2000,3,5); GetDays(2001,3,5); GetDays(2001,2,5);
OK, la fonction est implémentée !
Enfin, ajoutez le nombre de jours obtenu au nombre de$sum
et au jour spécifié $day
du $month
spécifié. Jetons un coup d'œil au code complet : rrreeeRésultat de sortie :
🎜🎜🎜D'accord, encapsulez le code pour trouver le nombre total de jours dans une fonction fonctionnelle : 🎜rrreee🎜Appelez cette fonction fonctionnelleGetDays($année,$mois, $day)🎜🎜rrreee🎜Jetons un coup d'œil aux résultats de sortie :🎜🎜🎜🎜🎜D'accord, c'est tout. Si vous voulez savoir autre chose, vous pouvez cliquer ici. → →🎜Tutoriel vidéo php🎜🎜
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!