Maison >développement back-end >Problème PHP >Comment calculer le nombre de jours dans une année donnée en php
PHP est un langage de script côté serveur largement utilisé qui peut être utilisé pour développer divers sites Web et applications dynamiques. Calculer le nombre de jours dans une année donnée est également une fonction très utile dans certains scénarios. Dans cet article, nous présenterons comment calculer le nombre de jours dans une année donnée en utilisant PHP.
Pour calculer le nombre de jours dans une année, vous devez d'abord comprendre que le nombre de jours dans une année est incertain. Une année compte généralement 365 jours, mais dans une année bissextile, l’année compte 366 jours. Une année bissextile est une année dont le reste est 0 lorsqu'il est divisé par 4, mais une année divisible par 100 mais pas par 400 n'est pas une année bissextile. Par conséquent, nous pouvons utiliser des instructions conditionnelles en PHP pour déterminer si une année donnée est une année bissextile et ainsi calculer le nombre de jours dans une année.
Voici le code PHP :
function countDaysInYear($year) { if ($year % 4 == 0) { if ($year % 100 == 0 && $year % 400 != 0) { return 365; } else { return 366; } } else { return 365; } } echo countDaysInYear(2021); // 输出 365 echo countDaysInYear(2020); // 输出 366
La fonction countDaysInYear
dans le code ci-dessus accepte une année comme paramètre et renvoie le nombre de jours dans l'année. Dans la fonction, nous utilisons d'abord l'opérateur %
pour déterminer si l'année est une année bissextile. Si l’année est divisible par 4, c’est une année bissextile, sinon c’est une année ordinaire. countDaysInYear
函数接受一个年份作为参数,返回该年份的天数。在函数内部,我们首先使用%
运算符判断该年份是否是闰年。如果该年份能够被4整除,则为闰年,否则为平年。
如果是闰年,我们还需要判断该年份是否是能被100整除却不能被400整除的年份。如果是这种情况,则不是闰年,天数为365;否则是闰年,天数为366。
当我们有一个具体的日期时,也可以使用PHP来计算这一天是今年的第几天。这个计算需要用到PHP中的strtotime
和date
函数。
先说一下strtotime
函数,它可以将文本日期(如"now"、"2021-07-12"等)转换为Unix时间戳。Unix时间戳是从1970年1月1日 00:00:00 UTC到输入日期的秒数。
我们可以使用strtotime
函数将当前日期转换为Unix时间戳,再计算出与今年1月1日的时间差,最后再加上1,即可得到该日期是今年的第几天。
下面是PHP代码:
function getDayOfYear($date) { $now = strtotime($date); $start = strtotime(date('Y', $now) .'-01-01'); return floor(($now - $start) / (60 * 60 * 24)) + 1; } echo getDayOfYear('2021-07-12'); // 输出 193
上述代码中的getDayOfYear
函数接受一个日期字符串作为参数,返回该日期是今年的第几天。
在函数内部,我们首先使用strtotime
函数将该日期字符串转换为Unix时间戳。然后使用date
strtotime
et date
en PHP. Parlons d'abord de la fonction strtotime
, qui peut convertir des dates de texte (telles que "maintenant", "2021-07-12", etc.) en horodatages Unix. L'horodatage Unix est le nombre de secondes entre le 1er janvier 1970 00:00:00 UTC et la date d'entrée.
strtotime
pour convertir la date actuelle en un horodatage Unix, puis calculer le décalage horaire par rapport au 1er janvier de cette année, et enfin ajouter 1 pour obtenir la date de cette année. quelques jours. 🎜🎜Voici le code PHP : 🎜rrreee🎜La fonction getDayOfYear
dans le code ci-dessus accepte une chaîne de date comme paramètre et renvoie le jour de l'année auquel correspond la date. 🎜🎜Dans la fonction, nous utilisons d'abord la fonction strtotime
pour convertir cette chaîne de date en un horodatage Unix. Utilisez ensuite la fonction date
pour convertir le 1er janvier de l'année en cours en un horodatage Unix. 🎜🎜Ensuite, nous calculons le décalage horaire entre la date actuelle et le 1er janvier et obtenons le nombre de jours. Puisque nous voulons calculer le nombre de jours à partir du 1er janvier, nous devons ajouter 1 à ce nombre de jours. 🎜🎜🎜🎜 Résumé 🎜🎜🎜🎜 Dans cet article, nous avons présenté comment utiliser PHP pour calculer le nombre de jours dans une année donnée et le jour de l'année pour n'importe quelle date. Ces calculs ne sont peut-être pas couramment utilisés dans certains scénarios, mais pour les programmeurs, l’écriture de telles fonctions peut également améliorer leurs capacités de codage et augmenter leur boîte à outils. 🎜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!