Come utilizzare la funzione date_sub() in PHP

Come Utilizzare La Funzione Date Sub In Php



IL data_sub() è una funzione di Appuntamento class, che fa parte dell'estensione di data e ora di PHP. Viene utilizzato per sottrarre un intervallo specificato da una data data. Può essere utilizzato per calcolare una data futura sottraendo uno o più giorni, mesi o anni dalla data corrente. IL data_sub() la funzione restituisce un nuovo Appuntamento oggetto che rappresenta la data e l'ora successive al calcolo.

Sintassi di base

La sintassi per l'utilizzo data_sub() la funzione è riportata di seguito:

data_sub ( Appuntamento $oggetto , DataIntervallo $intervallo )

Qui, $oggetto è il Appuntamento oggetto da cui sottrarre l'intervallo e $intervallo è il DataIntervallo oggetto che specifica l'intervallo da sottrarre. Si noti che entrambi gli argomenti sono necessari per utilizzare il file data_sub() funzionare correttamente.







Utilizzo di DateInterval

Per usare il data_sub() funzione, è necessario creare un file DataIntervallo oggetto che specifica la quantità di tempo che vuoi sottrarre dalla tua data-ora originale. DataIntervallo gli oggetti possono essere creati utilizzando il DataIntervallo costruttore. Il costruttore accetta un parametro stringa che specifica l'intervallo in un formato come P1D (un giorno), P1M (un mese), P1Y (un anno) e P1DT1H (un giorno e un'ora).



Esempi

// Sottrai un giorno
$intervallo = nuovo DataIntervallo ( 'P1D' ) ; // Sottrai un mese
$intervallo = nuovo DataIntervallo ( 'P1M' ) ;

// Sottrai un anno
$intervallo = nuovo DataIntervallo ( 'P1Y' ) ;

Come utilizzare la funzione PHP date_sub()

Una volta che hai un DataIntervallo oggetto, puoi combinarlo con a Appuntamento oggetto per calcolare una nuova data-ora. Ecco un esempio che sottrae un giorno dalla data corrente:





$dataora = nuovo Appuntamento ( ) ;

$intervallo = nuovo DataIntervallo ( 'P1D' ) ;

data_sub ( $dataora , $intervallo ) ;

eco $dataora -> formato ( 'Y-m-d H:i:s' ) ;

?>

Come puoi vedere, il nuovo datetime è un giorno prima della data corrente.





È anche possibile sottrarre ore, minuti e secondi da un oggetto DateTime utilizzando l' data_sub() funzione. Per sottrarre le ore, puoi passare l'intervallo di date come PT1H, che significa sottrarre un'ora. Ad esempio, considera il seguente codice:





$dataora = nuovo Appuntamento ( '2023-05-16 14:43:00' ) ;

data_sub ( $dataora , nuovo DataIntervallo ( 'PT1H' ) ) ;

eco $dataora -> formato ( 'Y-m-d H:i:s' ) ;

?>

Questo sottrae un'ora dall'oggetto DateTime e aggiorna l'oggetto con il nuovo valore. È possibile accedere al nuovo valore utilizzando il file formato() funzione dell'oggetto DateTime.

Esempio 1: sottrazione di intervalli diversi

IL data_sub() La funzione consente di sottrarre vari intervalli, non solo giorni. Consideriamo uno scenario in cui vogliamo sottrarre 2 ore e 30 minuti da una determinata data e ora.



$data = nuovo Appuntamento ( '2023-11-02 10:32:45' ) ;

$intervallo = nuovo DataIntervallo ( 'PT1H15M' ) ;

data_sub ( $data , $intervallo ) ;

eco $data -> formato ( 'S-m-d H:i:s' ) ;

?>

In questo esempio, creiamo un oggetto DateTime che rappresenta la data e l'ora '2023-11-02 10:32:45' . Creiamo anche un DataIntervallo oggetto che rappresenta un periodo di 1 ora e 15 minuti utilizzando il formato “PT1H15M”. Usiamo quindi il data_sub() funzione per sottrarre l'intervallo dalla data e dall'ora.

Esempio 2: sottrazione di più intervalli

Puoi anche usare il data_sub() funzione per sottrarre più intervalli da un oggetto DateTime. La sintassi è semplice: basta creare un nuovo oggetto DateInterval per ogni intervallo che si desidera sottrarre e passarli tutti al data_sub() funzionare come un array.



$intervalli = vettore (

nuovo DataIntervallo ( 'P1Y' ) ,

nuovo DataIntervallo ( 'P6M' ) ,

nuovo DataIntervallo ( 'P3D' )

) ;

$dataora = nuovo Appuntamento ( ) ;

per ciascuno ( $intervalli COME $intervallo ) {

data_sub ( $dataora , $intervallo ) ;

}

eco $dataora -> formato ( 'Y-m-d H:i:s' ) ;

?>

In questo esempio, abbiamo sottratto un anno, sei mesi e tre giorni dalla data.

Esempio 3: date_sub() con fusi orari

Una cosa di cui devi essere consapevole quando usi il data_sub() funzione è che può influenzare il fuso orario del tuo Appuntamento oggetto. Per impostazione predefinita, Appuntamento gli oggetti utilizzano il fuso orario del tuo server. Tuttavia, se desideri lavorare con un fuso orario diverso, puoi impostarlo in modo esplicito utilizzando il file setTimezone() metodo.



$dataora = nuovo Appuntamento ( 'Ora' , nuovo DataOraZone ( 'America/New_York' ) ) ;

$intervallo = nuovo DataIntervallo ( 'P1D' ) ;

data_sub ( $dataora , $intervallo ) ;

eco $dataora -> formato ( 'Y-m-d H:i:s' ) ;

?>

In questo esempio, impostiamo il fuso orario su America/New_York e sottraiamo un giorno da datetime.

Quando si sottrae intervalli utilizzando il data_sub() funzione, è importante notare che la data risultante viene regolata automaticamente se diventa non valida.

Conclusione

IL data_sub() La funzione in PHP fornisce un modo conveniente per sottrarre intervalli dagli oggetti DateTime. Utilizzando questa funzione, gli sviluppatori possono eseguire facilmente operazioni come la sottrazione di giorni, ore, minuti o intervalli complessi da una determinata data e ora. IL data_sub() La funzione offre flessibilità e precisione nella gestione dei calcoli delle date, rendendola uno strumento prezioso per lavorare con date e orari nelle applicazioni PHP.