Come per calcolare il tempo differenza con PHP

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.

istruzione

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.