Trouble with date (Problema con la fecha) (SOLVED)

Hola…
Tengo un problema con la fecha.
En varios equipos, correctamente configurados en cuanto a zona horaria, región, fecha y hora, luego de las 20:30, la fecha que devuelve PHP suma 1 dia.
En esos equipos corro xampp
En mi entorno de desarrollo, tampoco.
Que puede ser?

Hi…
I have a problem with the date.
On various computers, correctly configured in terms of time zone, region, date and time, after 20:30, the date PHP returns adds up to 1 day.
On those teams I run xamp
In my development environment, neither.
What can it be?

setlocale(LC_TIME,‘es_RA’);
setlocale(LC_MONETARY, ‘es_RA’);
setlocale(LC_ALL,‘es_RA’);
date_default_timezone_set(‘America/Argentina/Buenos_Aires’);

Yo pienso que la mejor manera de obtener la fecha es directamente de la Base de datos. Asi puedes escribir una función que devuelva la fecha del sistema. asi te quitas esos problemas del php.

Muchas gracias! Con este código me funciono:

	function TraeFechaDB () {
		$Fecha = "";
		$sql = "select getdate();";
		sc_lookup(rsAux, $sql);	
		$FechaAux = isset({rsAux[0][0]}) ?  {rsAux[0][0]} : "";
		$Fecha = substr($FechaAux,0,4).substr($FechaAux,5,2).substr($FechaAux,8,2)." ".substr($FechaAux,11,2).substr($FechaAux,14,2).substr($FechaAux,17,2);
		return $Fecha;		
	}

Yo creo que es mas eficiente si creas una función a nivel de DB (Funcion Definida por el Usuario). para que PHP no haga ninguna operacion.
CREATE FUNCTION f_get_now() RETURNS varchar(32)
BEGIN

declare v_fecha_sistema varchar(32);

-- Define La zona Horaria de su pais.
set time_zone = '-05:00'; 

select DATE_FORMAT(NOW(),'%Y-%m-%d %T') into v_fecha_sistema;

RETURN v_fecha_sistema;

END

En su script puede llamar la fecha:
sc_lookup(rs, “select f_get_now()”);

1 Like

Muchas gracias!
Lo voy a hacer!