Ottieni la data e l'ora correnti in PHP

Minahil Noor 10 agosto 2021
  1. Usa le funzioni date() e time() per ottenere la data e l’ora correnti in PHP
  2. Usa l’oggetto DateTime per ottenere la data e l’ora correnti in PHP
Ottieni la data e l'ora correnti in PHP

In questo articolo, introdurremo metodi per ottenere la data e l’ora correnti in PHP.

  • Utilizzo delle funzioni date() e time()
  • Utilizzando l’oggetto DateTime

Usa le funzioni date() e time() per ottenere la data e l’ora correnti in PHP

Potremmo usare le funzioni incorporate date() e time() per ottenere la date e l’time correnti in PHP. Queste funzioni visualizzano la data e l’ora correnti indipendentemente dal fuso orario. La sintassi corretta per utilizzare queste due funzioni è la seguente.

date($format, $timestamp);

La funzione incorporata date() ha due parametri. I dettagli dei suoi parametri sono i seguenti

Parametri Descrizione
$format obbligatorio Formato della data da visualizzare. Ha diverse varianti. Dovrebbe essere una stringa.
$timestamp opzionale Timestamp per ottenere la data. Se viene omesso, viene restituita la data corrente.

Restituisce la date impostata in base al formato specificato.

time();

La funzione time() non accetta parametri. Restituisce il timestamp PHP corrente. Il timestamp è il numero di secondi calcolati dall’epoca di Unix.

Il programma seguente mostra come ottenere la date e l’time correnti indipendentemente dal fuso orario.

<?php
$DateAndTime = date('m-d-Y h:i:s a', time());  
echo "The current date and time are $DateAndTime.";
?>

Il formato "m-d-Y h:i:s a" specifica la data restituita con il mese, il giorno e il valore dell’anno a 4 cifre e l’ora in ore, minuti e secondi.

Produzione:

The current date and time are 05-20-2020 05:44:03 pm.

Una cosa da notare qui è che l’ora non è impostata in base a un fuso orario. È l’ora visualizzata utilizzando il timestamp di Unix. Se vuoi controllare l’ora PHP corrente in base al tuo fuso orario, devi impostare manualmente il fuso orario.

Ad esempio, se vuoi controllare l’ora corrente ad Amsterdam, devi impostare manualmente il fuso orario per Amsterdam. A questo scopo, viene utilizzata la funzione PHP date_default_timezone_set(). La sintassi corretta per utilizzare questa funzione è la seguente

date_default_timezone_set($timezone);

Accetta solo un parametro.

Parametri Descrizione
$timezone obbligatorio È una stringa che identifica la regione per la quale si desidera impostare il fuso orario. Puoi controllare l’lista dei fusi orari supportati qui.

Questa funzione restituisce un valore bool. Se il fuso orario è impostato correttamente, restituisce true; in caso contrario, restituisce false.

Il programma seguente visualizzerà l’ora dopo aver impostato il fuso orario.

<?php
date_default_timezone_set('Europe/Amsterdam');    
$DateAndTime = date('m-d-Y h:i:s a', time());  
echo "The current date and time in Amsterdam are $DateAndTime.\n";
date_default_timezone_set('America/Toronto');    
$DateAndTime2 = date('m-d-Y h:i:s a', time());  
echo "The current date and time in Toronto are $DateAndTime2.";
?>

Produzione:

The current date and time in Amsterdam are 05-20-2020 08:08:42 pm.
The current date and time in Toronto are 05-20-2020 02:08:42 pm.

Usa l’oggetto DateTime per ottenere la data e l’ora correnti in PHP

In PHP, la classe DateTime è usata per affrontare i problemi relativi alla data e all’ora. La funzione format() di questa classe mostra la data e l’ora in un formato specificato.

Creeremo prima un oggetto DateTime e poi chiameremo la funzione format() per visualizzare la data e l’ora.

$ObjectName = new DateTime();
$ObjectName->format($format); 

La funzione format() accetta un parametro.

Parametri Descrizione
$format obbligatorio Formato della data e dell’ora. Dovrebbe essere una stringa.

Il programma di esempio che visualizza la data e l’ora correnti è il seguente.

<?php
$Object = new DateTime();  
$DateAndTime = $Object->format("d-m-Y h:i:s a");  
echo "The current date and time are $DateAndTime.";
?>

L’output è la data e l’ora con il formato specificato. Il tempo visualizzato è il tempo calcolato dall’epoca di Unix.

Produzione:

The current date and time are 20-05-2020 06:21:06 pm.

Se desideri controllare l’ora in base a un fuso orario specifico, dovrai impostare manualmente il fuso orario. A tale scopo, viene utilizzata la funzione incorporata in PHP della classe DateTime setTimezone(). La sintassi corretta per utilizzare questa funzione è la seguente.

$ObjectName = new DateTime();
$ObjectName->setTimezone(DateTimezone $timezone); 

La funzione setTimezone() accetta solo un parametro. Restituisce un oggetto DateTime in caso di successo e False in caso di fallimento.

Parametro Descrizione
$timezone obbligatorio È un oggetto DateTimezone che specifica il fuso orario. Puoi controllare l’lista dei fusi orari supportati qui.

Il programma di esempio che visualizza l’ora in base a un fuso orario specifico è il seguente.

<?php
$Object = new DateTime();  
$Object->setTimezone(new DateTimeZone('Europe/Amsterdam'));
$DateAndTime = $Object->format("d-m-Y h:i:s a");  
echo "The current date and time in Amsterdam are $DateAndTime.\n";
$Object->setTimezone(new DateTimeZone('America/Toronto'));
$DateAndTime = $Object->format("d-m-Y h:i:s a");  
echo "The current date and time in Toronto are $DateAndTime.";
?>

Produzione:

The current date and time in Amsterdam are 20-05-2020 08:43:02 pm.
The current date and time in Toronto are 20-05-2020 02:43:02 pm.

Articolo correlato - PHP Date

Articolo correlato - PHP DateTime