Maison > développement back-end > Problème PHP > 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

青灯夜游
Libérer: 2023-03-12 07:26:01
original
2844 Les gens l'ont consulté

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}");
Copier après la connexion

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

$diff_seconds = $enddate-$startdate;
Copier après la connexion

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);
Copier après la connexion

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>";
}
Copier après la connexion

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);
Copier après la connexion

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);
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal