El valor de la zona horaria es importante para cualquier sitio web porque los valores de fecha y hora se muestran en función de este valor. El script PHP utiliza el valor de zona horaria del servidor web de forma predeterminada. Este valor de la zona horaria se puede cambiar modificando el valor del fecha.zona horaria directiva en el php.ini archivo de configuración o agregando la entrada para el valor de la zona horaria dentro del .htaccess archivo o usar varias funciones incorporadas. En este tutorial se han mostrado diferentes formas de establecer el valor de la zona horaria en PHP.
Establezca el valor de la zona horaria modificando el PHP.archivo ini
Una de las formas más fáciles de establecer la zona horaria predeterminada es modificar la fecha.zona horaria directiva dentro del php.ini archivo. Supongamos que desea establecer la zona horaria predeterminada en 'Asia/Dhaka'. Abre el php.ini archivo y buscar la ubicación del fecha.zona horaria directiva. Modifique la línea usando la siguiente línea:
fecha.TimeZone = 'Asia/Dhaka'
Guarde el archivo y reinicie el servidor web para establecer la fecha y la hora del servidor en función del valor de la zona horaria modificada.
Establezca el valor de la zona horaria modificando el .archivo htaccess
Modificando el .El archivo htaccess es otra forma de establecer el valor de zona horaria predeterminada. Abre el .archivo htaccess y agregue la siguiente línea para establecer el valor de zona horaria predeterminada en 'Asia/Dhaka':
Fecha de php_value.TimeZone 'Australia/Melbourne'
Guarde el archivo y reinicie el servidor web para establecer la fecha y la hora del servidor en función del valor de la zona horaria modificada.
Establezca el valor de la zona de tiempo usando date_default_timezone_set () función
El date_default_Timezone_set () es la función PHP incorporada para establecer el valor de la zona horaria. La salida de todas las funciones incorporadas de PHP relacionadas con la zona horaria predeterminada se cambiará después de cambiar el valor de la zona horaria utilizando la función date_default_timezone_set (). La sintaxis de esta función se da a continuación:
Sintaxis
bool date_default_timezone_set (String TimeZone)
Esta función tiene solo un argumento obligatorio. Este argumento establece una zona horaria en particular. Devuelve verdadero si el valor de zona horaria válida se pasa en el argumento. De lo contrario, devuelve falso. La función Date_Default_Timezone_Get () se usa para leer el valor de zona horaria actual del servidor. Por lo tanto, esta función se puede usar para verificar la zona horaria correctamente después de configurar la nueva zona horaria utilizando la función date_default_timezone_set ().
Ejemplo 1: Establezca la zona de tiempo utilizando date_default_timezone_set () función
Cree un archivo PHP con el siguiente script para establecer la zona de tiempo predeterminada en 'Asia/Dhaka' usando la función date_default_timzae_set (). La función date_default_timzaNe_get () se ha utilizado dos veces para imprimir el valor de la zona horaria antes y después de usar date_default_timezone_set () función.
// imprime la zona horaria actual
Echo "La zona horaria actual es " . date_default_timzaNe_get () . "
";
// Cambiar la zona horaria actual
date_default_timezone_set ('Asia/dhaka');
// Imprima la zona horaria cambiada
Echo "La zona horaria actual se cambia a ". date_default_timzaNe_get () . "";
?>
La siguiente salida muestra que la zona horaria predeterminada fue UTC, y la zona horaria ha cambiado a Asia/Dhaka Después de establecer la nueva zona horaria:
Establezca el valor de la zona de tiempo usando la función ini_set ()
El ini_set () es una función muy útil de PHP para modificar cualquier Directiva PHP mediante el uso de un script sin acceder al PHP.archivo ini. Este tutorial discutió anteriormente que la 'fecha.Directiva de la zona horaria requerida para modificar para cambiar el valor de zona horaria actual. Entonces, la función ini_set () se puede usar para cambiar este valor de directiva. La sintaxis de esta función se da a continuación:
Sintaxis
cadena | falso ini_set (string $ opción, cadena | int | float | bool | null $ valor)
El primer argumento de la función toma el nombre de la directiva, y el segundo argumento de la función toma el valor. Devuelve un valor de cadena sobre el éxito y un falso en la falla.
Ejemplo 2: Establezca la zona horaria usando la función ini_set ()
Cree un archivo PHP con el siguiente script que establecerá la zona horaria predeterminada en 'America/Chicago' utilizando la función ini_set (). La función date_default_timezone_get () se ha utilizado dos veces para imprimir el valor de la zona horaria antes y después de usar la función ini_set ().
// imprime la zona horaria actual
Echo "La zona horaria actual es " . date_default_timzaNe_get () . "
";
// Cambiar la zona horaria actual
ini_set ('fecha.TimeZone ',' America/Chicago ');
// imprime la zona horaria cambiada
Echo "La zona horaria actual se cambia a ". date_default_timzaNe_get () . "";
?>
La siguiente salida muestra que la zona horaria predeterminada fue UTC, y la zona horaria ha cambiado a 'América/Chicago' Después de establecer la nueva zona horaria:
Establezca el valor de la zona horaria utilizando la clase DateTimezone
El uso de la clase DateTimezone es otra forma de cambiar el valor de zona horaria predeterminada del servidor. Los usos de esta clase para cambiar la zona horaria se han mostrado en el siguiente ejemplo:
Ejemplo 3: Establezca la zona horaria utilizando la clase de DateTimezone
Cree un archivo PHP con el siguiente script que cambiará el valor de la zona horaria dos veces e imprima la fecha y hora actuales en función del valor de la zona horaria actual. La función display () se ha definido en el script para imprimir el valor de zona horaria actual y la fecha y hora actuales en función de la zona horaria. Se ha pedido por primera vez para mostrar la salida en función de la zona horaria predeterminada, que es 'UTC'. Se ha llamado la segunda vez para mostrar el resultado basado en la zona horaria cambiada, 'Asia/Dhaka'. Se ha llamado la tercera vez para mostrar la salida en función de la zona horaria modificada, que es 'Canadá/Atlántico'.
// crear un objeto de fecha
$ date = new DateTime ();
FUNCIÓN PANTALLA ()
Global $ fecha de $;
$ TIMEZONE = $ Date-> getTimeZone ();
// Imprima la zona horaria actual y la hora y tiempo basada en la zona horaria
Echo "La zona horaria actual es " . $ TIMEZONE-> getName ()."
";
Echo "La fecha y hora actuales es" . $ date-> format ('d-m-y h: i: s') . "
";
// función de llamada para imprimir la salida en función de la zona horaria predeterminada
mostrar();
// Cambiar la zona horaria a 'Asia/Dhaka'
$ date-> setTimezone (nuevo DateTimezone ('Asia/dhaka'));
// función de llamada para imprimir la salida basada en la zona horaria cambiada
mostrar();
// Cambiar la zona horaria a 'Canadá/Atlantic'
$ date-> setTimezone (nuevo DateTimezone ('Canadá/Atlantic'));
// función de llamada para imprimir la salida basada en la zona horaria cambiada
mostrar();
?>
La siguiente salida aparecerá después de ejecutar el script anterior:
Conclusión
Cinco formas diferentes de cambiar el valor de la zona horaria se muestran en este tutorial. Si el usuario de PHP no tiene permiso para cambiar el PHP.ini o .archivo htaccess, entonces el usuario puede usar cualquiera de las funciones incorporadas discutidas en este tutorial para cambiar el valor de la zona horaria.