Imposta il fuso orario in PHP

Imposta il fuso orario in PHP

Il valore del fuso orario è importante per qualsiasi sito Web perché i valori di data e ora vengono visualizzati in base a questo valore. Lo script PHP utilizza il valore del fuso orario del server Web per impostazione predefinita. Questo valore del fuso orario può essere modificato modificando il valore del data.fuso orario direttiva nel PHP.ini File di configurazione o aggiungendo la voce per il valore del fuso orario all'interno del .htaccess file o utilizzando diverse funzioni integrate. In questo tutorial sono stati mostrati diversi modi di impostare il valore del full del fuso orario.

Imposta il valore del fuso orario modificando il PHP.file ini

Uno dei modi più semplici per impostare il fuso orario predefinito è modificando il data.fuso orario direttiva all'interno del PHP.ini file. Supponiamo di voler impostare il fuso orario predefinito 'Asia/Dhaka'. Apri il PHP.ini file e cerca la posizione del data.fuso orario direttiva. Modifica la riga utilizzando la riga seguente:

data.TimeZone = 'Asia/Dhaka'


Salva il file e riavvia il server Web per impostare la data e l'ora del server in base al valore del fuso orario modificato.

Imposta il valore del fuso orario modificando il .file htaccess

Modificare il .Il file htaccess è un altro modo per impostare il valore del fuso orario predefinito. Apri il .file htaccess e aggiungere la riga seguente per impostare il valore del fuso orario predefinito su 'Asia/Dhaka':

Data PHP_Value.Timezone 'Australia/Melbourne'


Salva il file e riavvia il server Web per impostare la data e l'ora del server in base al valore del fuso orario modificato.

Impostare il valore del fuso orario utilizzando la funzione da data_default_timezone_set ()

Date_default_timezone_set () è la funzione PHP integrata per impostare il valore del fuso orario. L'output di tutte le funzioni integrate di PHP relative al fuso orario predefinito verrà modificato dopo aver modificato il valore del fuso orario utilizzando la funzione da data_default_timezone_set (). La sintassi di questa funzione è riportata di seguito:

Sintassi

bool date_default_timezone_set (string timezone)


Questa funzione ha solo un argomento obbligatorio. Questo argomento imposta un fuso orario particolare. Restituisce vero se il valore del fuso orario valido viene approvato nell'argomento. Altrimenti, restituisce falso. La funzione Date_Default_timezone_get () viene utilizzata per leggere il valore del fuso orario corrente del server. Pertanto, questa funzione può essere utilizzata per verificare che il fuso orario sia impostato correttamente dopo aver impostato il nuovo fuso utilizzando la funzione da data_default_timezone_set ().

Esempio 1: Imposta il fuso orario utilizzando la funzione da data_default_timezone_set ()

Crea un file PHP con il seguente script per impostare il fuso orario predefinito su "Asia/Dhaka" utilizzando la funzione Date_Default_timezone_set (). La funzione Date_Default_timezone_get () è stata utilizzata due volte per stampare il valore del fuso orario prima e dopo l'utilizzo della funzione da data_default_timezone_set ().

// Stampa il fuso orario corrente
echo "l'attuale fuso orario " . date_default_timezone_get () . "
";
// Modifica il fuso orario corrente
date_default_timezone_set ('Asia/dhaka');
// Stampa il fuso orario modificato
Echo "Il fuso orario attuale viene modificato ". date_default_timezone_get () . "";
?>


Il seguente output mostra che il fuso orario predefinito era UTC, E il fuso orario è cambiato Asia/Dhaka Dopo aver impostato il nuovo fuso orario:

Impostare il valore del fuso orario utilizzando la funzione Ini_set ()

Ini_set () è una funzione molto utile di PHP per modificare qualsiasi direttiva PHP utilizzando uno script senza accedere al PHP.file ini. Questo tutorial ha discusso in precedenza che la data.Direttiva del fuso orario richiesto per modificare per modificare il valore del fuso orario corrente. Quindi, la funzione ini_set () può essere utilizzata per modificare questo valore della direttiva. La sintassi di questa funzione è riportata di seguito:

Sintassi

String | FALSE INI_SET (String $ opzione, String | int | float | bool | null $ valore)


Il primo argomento della funzione prende il nome della direttiva e il secondo argomento della funzione prende il valore. Restituisce un valore di stringa al successo e un falso su errore.

Esempio 2: impostare il fuso orario utilizzando la funzione ini_set ()

Crea un file PHP con il seguente script che imposterà il fuso orario predefinito su "America/Chicago" utilizzando la funzione INI_SET (). La funzione Date_Default_timezone_get () è stata utilizzata due volte per stampare il valore del fuso orario prima e dopo l'utilizzo della funzione Ini_set ().

// Stampa il fuso orario corrente
echo "l'attuale fuso orario " . date_default_timezone_get () . "
";
// Modifica il fuso orario corrente
ini_set ('data.Timezone ',' America/Chicago ');
// Stampa il fuso orario modificato
Echo "Il fuso orario attuale viene modificato ". date_default_timezone_get () . "";
?>


Il seguente output mostra che il fuso orario predefinito era UTC, E il fuso orario è cambiato 'America/Chicago' Dopo aver impostato il nuovo fuso orario:

Imposta il valore del fuso orario utilizzando la classe DateTimezone

L'uso della classe DateTimezone è un altro modo per modificare il valore di fuso orario predefinito del server. Gli usi di questa classe per la modifica del fuso orario sono stati mostrati nel seguente esempio:

Esempio 3: impostare il fuso orario utilizzando la classe DateTimezone

Crea un file PHP con il seguente script che modificherà il valore del fuso orario due volte e stampa la data e l'ora corrente in base al valore del fuso orario corrente. La funzione Display () è stata definita nello script per stampare il valore del fuso orario corrente e la data e l'ora corrente in base al fuso orario. È stato chiamato per la prima volta a mostrare l'output in base al fuso orario predefinito, che è 'UTC '. È stato chiamato la seconda volta per mostrare l'output in base al fuso orario, 'Asia/Dhaka'. È stata chiamata la terza volta per mostrare l'output in base al fuso del tempo cambiato, che è 'Canada/Atlantico'.

// Crea un oggetto Data
$ date = new DateTime ();
Display funzione ()

data $ globale;
$ timezone = $ date-> getTimeZone ();
// stampano il fuso orario e i dati attuali in base al fuso orario
echo "l'attuale fuso orario " . $ timezone-> getName ()."
";
echo "La data e l'ora correnti sono" . $ date-> formato ('d-m-y h: i: s') . "
";

// Funzione di chiamata per stampare l'output in base al fuso orario predefinito
Schermo();
// Cambia il fuso orario in 'Asia/Dhaka'
$ date-> setTimeZone (new DateTimezone ('Asia/Dhaka'));
// Chiama funzione per stampare l'output in base al fuso orario
Schermo();
// Cambia il fuso orario in "Canada/Atlantico"
$ date-> setTimeZone (new DateTimezone ('Canada/Atlantic'));
// Chiama funzione per stampare l'output in base al fuso orario
Schermo();
?>


Verrà visualizzato il seguente output dopo aver eseguito lo script precedente:

Conclusione

In questo tutorial sono mostrati cinque diversi modi per cambiare il valore del fuso orario. Se l'utente PHP non ha il permesso di modificare il PHP.ini o .File Htaccess, quindi l'utente può utilizzare una qualsiasi delle funzioni integrate discusse in questo tutorial per modificare il valore del fuso orario.