A volte potrebbe essere necessario conoscere la differenza di tempo tra due date del tuo sito web - per esempio , se si dispone di un conto alla rovescia . PHP ha diverse funzioni che restituiranno date e gli orari in varie forme ma non consentire più flessibilità . Grazie alla combinazione di queste funzioni con uno creato da voi , è possibile calcolare la differenza tra due date e gli orari , il salvataggio dei valori di secondi per anni in variabili separate . È quindi possibile modificare o visualizzare questi valori , se lo desideri . Istruzioni
1
aprire un file HTML e digitare il codice riportato di seguito nell'elemento "
" : ?
< Php
funzione TimeDiff ( $ primo , $ ultimo ) {
Questo apre un tag PHP e definisce una nuova funzione chiamata " TimeDiff " che accetta due parametri . Questi saranno in forma di due date con un " AAAA-MM - GG HH : MM : SS " formato , permettendo alle funzioni PHP predefinite di manipolarli
2
Digitare quanto segue: . < Br >
if ( $ primo > $ ultimo ) {
$ tmp = $ scorso ;
$ ultimo = $ primo ;
$ primo = $ tmp ;
}
Questo blocco assicura che , indipendentemente dal fatto che il primo parametro viene cronologicamente prima o dopo il secondo parametro , la funzione restituisce una differenza di tempo positivo.
3
Digitare il seguente codice :
$ firstTime = strtotime ( $ primo ) ;
$ ultimavolta = strtotime ( $ ultimo ) ;
$ anni = $ giorni = $ ore = $ minuti = 0 ;
$ secondo = $ ultimavolta - $ firstTime ;
le prime due righe creano una coppia di variabili fuori dei due parametri di data e convertire ciascuna ad un numero di secondi trascorsi dal 1 gennaio 1970 ( Unix time) in modo che i valori possono essere modificati . La terza riga crea quattro variabili di conteggio e li inizializza a zero. L'ultima riga crea una variabile che riceve la differenza in secondi dalla prima data per l'ultima data
4
digitare il seguente codice : .
While ($ secondi > = 31.536.000 ) {
$ anni = $ anno + 1;
$ secondo = $ secondi - 31.536.000 ;
}
while ( $ secondi > = 86400 ) {
$ giorni = $ giorni + 1;
$ secondo = $ secondi - 86400 ;
}
while ($ secondi > = 3600 ) {
$ ore = $ ore + 1;
$ secondo = $ secondo - 3600 ;
}
while ($ secondi > , = 60 ) {
$ minuti = $ minuti + 1;
$ secondi = $ secondi - 60 ;
}
Questi blocchi di diminuire il valore della variabile $ secondi per calcolare quanti anni , giorni, ore e minuti sono passati . Poiché il numero di giorni di ogni mese è diverso , non è pratico di contare il numero
5
Digitare quanto segue : .
Echo $ anni. " Anni" . $ giorni. " Giorni" . $ ore. " Ore" .
$ Minuti. "Minuti " . $ secondi. "Secondi . "; ?
}
>
Queste righe mostrano semplicemente la differenza di tempo per il visitatore del sito utilizzando l'istruzione echo e quindi chiudere la funzione TimeDiff e PHP . tag
6
Digitare quanto segue :
echo TimeDiff ( " 2011-06-13 12:15:07 " , " 2011-07-09 18:35:15 " ) ;
eco TimeDiff ( " 2010-04-16 12:00:00 " , " 2011-04-16 12:00:00 " ) ;
eco TimeDiff ( " 2012 - 12-01 00:00:00 " , date ( ' Ymd h : i: s ' , time () ) ) ;
eco TimeDiff ( date ( ' Ymd h : i: s ' , time () ) , " 2012-12-01 00:00:00" ) ;
Queste quattro linee sono quattro esempi della funzione TimeDiff al lavoro. La prima calcola la differenza e restituisce zero anni , 26 giorni , sei ore , 20 minuti e otto secondi . Il secondo restituisce esattamente un anno . La terza e la quarta sia utilizzare la data di PHP e le funzioni di tempo per creare uno dei parametri , il tempo esatto sul computer del visitatore . Si noti che passano gli stessi valori ma nell'ordine opposto . Poiché è stata selezionata per questo , all'inizio della funzione TimeDiff , entrambe restituiscono gli stessi risultati , tuttavia, questi risultati cambiano dinamicamente in base all'ora e al giorno in cui un visitatore carica la pagina
.