Foros del Web » Programando para Internet » PHP »

Problema con fechas en PHP contra SQL 2005

Estas en el tema de Problema con fechas en PHP contra SQL 2005 en el foro de PHP en Foros del Web. Buenas, soy nuevo en la comunidad, me acabo de registrar, espero ser de ayuda o responder alguna duda a alguien =) Bueno el problema que ...
  #1 (permalink)  
Antiguo 22/06/2009, 12:36
 
Fecha de Ingreso: junio-2009
Mensajes: 5
Antigüedad: 14 años, 9 meses
Puntos: 0
Problema con fechas en PHP contra SQL 2005

Buenas, soy nuevo en la comunidad, me acabo de registrar, espero ser de ayuda o responder alguna duda a alguien =)

Bueno el problema que tengo es que tengo una bd en sql express 2005 y una aplicacion en php5.
La aplicacion se conecta bien y ejecuta consultas lo mas bien, el problema resulta cuando ejecuto fechas, ya sea por medio de stored procedures o simples queries.
La fecha que me devuelve es

"Dec 30 2009 12:00AM" cuando deberia ser 30/12/2009
ya me he fijado en la configuracion regional, he reemplazado el archivo ntwdlib.dll porque sino no podia conectarme, ya no se que mas hacer, hasta he formateado la pc pensando que era algo mal, pero nada. Lo pruebo en otra pc y funciona sin problemas. Alguien tiene alguna sugerencia al problema?
Desde ya muchisimas gracias, estoy desesperado!

Saludos.-
  #2 (permalink)  
Antiguo 22/06/2009, 12:37
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Problema con fechas en PHP contra SQL 2005

Has usado date() de php para insertar la fecha o hacer los query?
  #3 (permalink)  
Antiguo 22/06/2009, 12:49
 
Fecha de Ingreso: junio-2009
Mensajes: 5
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Problema con fechas en PHP contra SQL 2005

no, le paso la fecha asi como viene, tengo que usar date() ?
ahora, lo raro me resulta que en una pc funcione el codigo tal cual esta y en otra no.
pd: voy a probar con date() y te respondo
  #4 (permalink)  
Antiguo 22/06/2009, 12:53
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Problema con fechas en PHP contra SQL 2005

Si pero tienes que pasar unos parametros ejemplo tu dices que quieres que aparezcan asi

30/12/2009

Debes usarlo asi
date("d/m/Y")

Pero eso te va a lanzar el dia que tenga el servidor actualmente
  #5 (permalink)  
Antiguo 22/06/2009, 12:56
 
Fecha de Ingreso: junio-2009
Mensajes: 5
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Problema con fechas en PHP contra SQL 2005

He usado date()
y por ejemplo hago esto:

echo date('Y-m-d', '2009-12-30');
y me devuelve:
"1969-12-31"

la pc esta recien formateada, puede que haya algun problema con la libreria para conectar con sql? la ntwdlib.dll?
  #6 (permalink)  
Antiguo 22/06/2009, 13:05
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Problema con fechas en PHP contra SQL 2005

Es que la segunda opcion tienes que traerlo en formato de segundo para eso usa mktime()

echo date('d/m/Y', mktime(0,0,0,12,30,2009));
  #7 (permalink)  
Antiguo 22/06/2009, 13:21
 
Fecha de Ingreso: junio-2009
Mensajes: 5
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Problema con fechas en PHP contra SQL 2005

antes que nada muchas gracias por preocuparte...

si lo pruebo asi directo si funciona, pero yo tengo una variable $fecha, que viene de un campo de base de datos que es datetime, como puedo separar el dia, el mes y el año para probar la solucion que me pasaste?
  #8 (permalink)  
Antiguo 22/06/2009, 13:22
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Problema con fechas en PHP contra SQL 2005

por explode()

haces un primer explode por espacio

Código PHP:
//Suponiendo que el datetime publica la fecha asi  "30-12-2009 15:29:00"

//Separamos Fecha de Hora
$fecha explode(" "$row["datetime"]);

//Separamos dia, mes y año
$date explode("-"$fecha[0]);

//Creo que esta es la forma como se guarda en el datetime la fecha 30-12-2009
//$date[0] = dia
//$date[1] = mes
//$date[2] = año

echo date('d/m/Y'mktime(0,0,0,$date[0],$date[1],$date[2])); 

Última edición por abimaelrc; 22/06/2009 a las 13:31
  #9 (permalink)  
Antiguo 22/06/2009, 13:23
Avatar de acoevil  
Fecha de Ingreso: julio-2008
Ubicación: localhost/colombia/sevillaValle.php
Mensajes: 1.123
Antigüedad: 15 años, 8 meses
Puntos: 32
Respuesta: Problema con fechas en PHP contra SQL 2005

Puedes utlizar la funcion explode

$pizza = "trozo1 trozo2 trozo3 trozo4 trozo5 trozo6";
$trozos = explode(" ", $pizza);
echo $trozos[0]; // trozo1
echo $trozos[1]; // trozo2

http://www.php.net/explode
  #10 (permalink)  
Antiguo 22/06/2009, 13:53
 
Fecha de Ingreso: junio-2009
Mensajes: 5
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Problema con fechas en PHP contra SQL 2005

ok, muchas gracias por todas las respuestas, asi funciona.... siempre y cuando la fecha venga en un formato MM-DD-YYYY o DD-MM-YYYY o YYYY-MM-DD, pero que pasa si viene asi: "Dec 30 2009 12:00AM" ??

Saludos y gracias desde ya


PD: Ya lo solucione convirtiendo la fecha, perdon por mi ignorancia :S

Saludos y muchisimas gracias por la ayuda.

Última edición por neutrin0x; 22/06/2009 a las 14:00
  #11 (permalink)  
Antiguo 22/06/2009, 13:57
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Problema con fechas en PHP contra SQL 2005

No podria decirte ahi. Verifica en algun foro que te diga sobre tu computadora o sobre sql express 2005 especificamente
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:57.