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
.