Maison  >  Article  >  développement back-end  >  Application de fonction PHP pour calculer combien de jours il reste jusqu'à un certain jour d'un certain mois d'une certaine année

Application de fonction PHP pour calculer combien de jours il reste jusqu'à un certain jour d'un certain mois d'une certaine année

青灯夜游
青灯夜游original
2021-08-19 17:23:542796parcourir

Dans l'article précédent "Comment calculer le nombre total de jours pour une année, un mois et un jour donnés via PHP", nous avons présenté une méthode de calcul du nombre total de jours pour une année, un mois et un jour donnés. Cette fois, nous allons simplifier la méthode et vous montrer comment calculer le nombre total de jours à l'aide de la fonction strtotime().

Le thème de cet article est : étant donné une année, un mois et un jour, calculez le nombre total de jours jusqu'à ce jour.

Comment calculer cela ? Si vous n'avez aucune idée, changeons la direction et simplifions-la. Ne s'agit-il pas simplement de trouver le nombre de jours entre le 1er janvier, année x - jour x, mois x, année x, c'est-à-dire de trouver le décalage horaire entre les deux dates. Alors comment trouver le décalage horaire ?

Nous devons d'abord convertir deux dates : 1er janvier de x année et x mois x jour de x année en horodatages

$startdate = strtotime("{$year}-01-01");
$enddate = strtotime("{$year}-{$month}-{$day}");

Ensuite, soustraire les deux horodatages (heure de fin - heure de début)

$diff_seconds = $enddate-$startdate;

Cela obtiendra le décalage horaire entre les deux dates, mais il sera toujours compté en secondes, ce qui n'est pas propice à la lecture.

Parce qu'il y a 24 heures dans une journée, 60 minutes dans une heure et 60 secondes dans une minute. Si vous convertissez 24*60*60=86400, il y a 86 400 secondes dans une journée.

Divisez la différence de temps $diff_seconds par 86400, puis utilisez floor() pour arrondir à l'entier le plus proche

$time = floor(($diff_seconds)/86400);

Ce que vous obtenez à ce moment est la différence en jours, à l'exclusion du jour x mois x jour, vous devez ajouter 1, c'est le nombre total de jours se terminant un certain jour d'un certain mois d'une certaine année.

Jetons un coup d'œil au code complet :

function GetDays($year,$month,$day){
	$startdate = strtotime("{$year}-01-01");
	$enddate = strtotime("{$year}-{$month}-{$day}");
	$diff_seconds = $enddate-$startdate;
	$time = floor(($diff_seconds)/86400);
	$day = $time+1;
	echo "截止{$year}-{$month}-{$day} 共有 {$day} 天<br>";
}

Testez-le : calculez le nombre total de jours à partir de 2000-3-5 (car 2000 est une année bissextile, donc 31+29+5=65)

GetDays(2000,3,5);

Le résultat de sortie est :

Application de fonction PHP pour calculer combien de jours il reste jusquà un certain jour dun certain mois dune certaine année

OK, le nombre total de jours est correct ! En utilisant la fonction GetDays($year,$month,$day), nous pouvons également calculer le nombre total de jours dans une année

GetDays(2000,12,31);
GetDays(2021,12,31);

Le résultat de sortie est :

Application de fonction PHP pour calculer combien de jours il reste jusquà un certain jour dun certain mois dune certaine année

D'accord, c'est tout si vous voulez savoir. autre chose, vous pouvez cliquer dessus. → →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!

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