June 3
A volte potrebbe essere necessario conoscere la differenza di tempo tra due date sul tuo sito web - per esempio, se si dispone di un conto alla rovescia. PHP ha diverse funzioni che restituirà date e gli orari in varie forme ma non consentono di molta flessibilità. Grazie alla combinazione di queste funzioni con uno creato da voi, è possibile calcolare la differenza tra due date e gli orari, il risparmio valori da secondi per anni in variabili separate. È quindi possibile modificare o visualizzare questi valori, se lo desideri.
1 Aprire un file HTML e digitare il seguente codice nell'elemento "<body>":
<? Php
Funzione TimeDiff ($ prima, $ ultimo) {
Si apre un tag PHP e definisce una nuova funzione chiamata "TimeDiff" che accetta due parametri. Questi saranno sotto forma di due date con un "AAAA-MM-GG HH: MM: SS" formato, permettendo alle funzioni PHP predefinite di manipolarli.
2 Digitare quanto segue:
if ($ prima> $ ultimo) {
$ Tmp = $ scorso;
$ Durare = $ prima;
$ First = $ tmp;
}
Questo blocco garantisce 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 ($ prima);
$ LastTime = strtotime ($ scorso);
$ Anni = $ giorni = $ ore = $ minuti = 0;
$ secondi = $ lastTime- $ firstTime;
Le prime due righe creano una coppia di variabili su due parametri data e convertire ciascuna ad un numero di secondi trascorsi dal 1 gennaio 1970 (ora Unix) in modo che i valori possono essere modificati. La terza riga crea quattro variabili di conteggio e inizializza a zero. L'ultima riga crea una variabile che ottiene la differenza in secondi dalla prima data per l'ultima data.
4 Digitare il seguente codice:
while ($ secondi> = 31536000) {
$ Anni = $ anni + 1;
$ secondi = $ secondi - 31536000;
}
while ($ secondi> = 86400) {
$ giorni = $ giorni + 1;
$ secondi = $ secondi - 86400;
}
while ($ secondi> = 3600) {
$ Ore = $ ore + 1;
$ secondi = $ secondi - 3600;
}
while ($ secondi> = 60) {
$ minuti = $ minuti + 1;
$ secondi = $ secondi - 60;
}
Questi blocchi diminuire il valore della variabile $ secondi per calcolare quanti anni molti, giorni, ore e minuti sono passati. Poiché il numero di giorni di ciascun mese è diverso, non è pratico di contare quel numero.
5 Digitare quanto segue:
echo $ anni. " anni, " . $ giorni. "Giorni". $ ore. " ore, ".
$ minuti. " minuti, " . $ secondi. "secondi.";
}
?>
Queste linee visualizzano semplicemente la differenza di tempo per il visitatore del sito utilizzando l'istruzione eco e quindi chiudere la funzione TimeDiff e tag PHP.
6 Digitare quanto segue:
echo TimeDiff ( "2011-06-13 00:15:07", "2011-07-09 18:35:15");
echo TimeDiff ( "2010-04-16 00:00:00", "2011-04-16 00:00:00");
echo TimeDiff ( "2012/12/01 00:00:00", la data ( 'Ymd h: i: s', il tempo ()));
eco TimeDiff (data ( 'Ymd h: i: s', il tempo ()), "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 entrambi utilizzano le funzioni di data e ora di PHP per creare uno dei parametri; l'ora esatta sul computer del visitatore. Si noti che passano gli stessi valori, ma in ordine inverso. Perché è stata selezionata per questo, all'inizio della funzione TimeDiff, entrambi restituiscono gli stessi risultati; Tuttavia, questi risultati cambiano dinamicamente in base al tempo e giorno in cui un visitatore carica la pagina.