Parfois vous pouvez avoir besoin de connaître la différence de temps entre deux dates de votre site - par exemple , si vous avez un compte à rebours . PHP dispose de plusieurs fonctions qui vont retourner dates et heures sous diverses formes , mais elles ne permettent pas pour autant de souplesse . En combinant ces fonctions avec celle que vous créez vous-même , vous pouvez calculer la différence entre deux dates et horaires , l'enregistrement de valeurs de secondes à plusieurs années dans des variables distinctes . Vous pouvez ensuite modifier ou d'afficher ces valeurs comme vous le souhaitez . Instructions 1 ouvrir un fichier HTML et tapez le code suivant dans l'élément " body " : < php fonction timeDiff ($ premier , $ dernier ) { Cela ouvre une balise PHP et définit une nouvelle fonction appelée " timeDiff " qui accepte deux paramètres. Ceux-ci seront sous la forme de deux dates avec un "AAAA -MM -JJ HH : MM: SS " format, offrant les fonctions PHP prédéfinies pour manipuler les 2 Tapez la commande suivante : . < Br > if ( première $> dernier ) { $ tmp = $ dernière ; $ last = première $; $ first = $ tmp ; Photos } Ce bloc assure que , peu importe si le premier paramètre est chronologiquement avant ou après le second paramètre , la fonction retourne une différence de temps positive. 3 Tapez le code suivant : firstTime $ = strtotime ( première tranche ) ; lastTime $ = strtotime ($ dernier ) ; $ ans = $ jours = $ heures = $ minutes = 0 ; $ secondes = $ $ lastTime - firstTime ; les deux premières lignes créent une paire de variables sur les deux paramètres de la date et de convertir chacune à un nombre de secondes écoulées depuis le 1er Janvier 1970 ( Unix temps ) de sorte que les valeurs peuvent être modifiées . La troisième ligne crée quatre variables de comptage et les initialise à zéro. La dernière ligne crée une variable qui reçoit la différence en quelques secondes à partir de la première date de la dernière date 4 Type de le code suivant : . While ($ secondes > = 31536000 ) { $ ans = $ ans + 1; $ secondes = $ secondes - 31536000 ; } while ($ secondes = > 86400 ) { $ jours = $ jours + 1; $ secondes = $ secondes - 86400 ; } while ($ secondes > = 3600) { $ heures = $ heures + 1; $ secondes = $ secondes - 3600 ; } while ($ secondes > ; = 60 ) { $ minutes = $ minutes + 1; $ secondes = $ secondes - 60 ; } Ces blocs diminuer le valeur de la variable $ pour calculer combien d'années , jours, heures et minutes se sont écoulées secondes. Parce que le nombre de jours de chaque mois diffère , il n'est pas pratique de compter ce nombre 5 Tapez la commande suivante : . Echo $ années. " Années" . $ jours . " Jours" . $ heures. " Heures" . $ Minutes. " Minutes" . $ secondes. "Secondes . " ; } ? > Photos Ces lignes affichent simplement la différence de temps pour le visiteur du site en utilisant le compte de l'écho et puis fermez la fonction timeDiff et PHP . tag 6 Tapez la commande suivante : écho timeDiff ( " 2011-06-13 12:15:07 ", " 2011-07-09 18:35:15 " ) ; écho timeDiff ( " 2010-04-16 12:00:00 ", " 2011-04-16 12:00:00 "); écho timeDiff ( "2012 - 12-01 00:00:00 " , date (' Ymd h: i : s ", time () ) ) ; écho timeDiff ( date (' Ymd h: i : s ", time () ) , " 2012-12-01 00:00:00" ) ; Ces quatre lignes sont quatre exemples de la fonction timeDiff au travail. Le premier calcule la différence et retourne zéro années, 26 jours , six heures , 20 minutes et huit secondes. Le second renvoie exactement un an. Les troisième et quatrième utilisent tous deux la date PHP et les fonctions de temps pour créer l'un des paramètres , l'heure exacte sur l'ordinateur du visiteur. Notez qu'ils passent les mêmes valeurs, mais dans l'ordre inverse . Parce que vous avez coché pour cela au début de la fonction timeDiff , à la fois les mêmes résultats , mais ces résultats changent dynamiquement en fonction de l' heure et du jour qu'un visiteur charge la page .
|