Foros del Web » Programando para Internet » PHP »

Problema con date!

Estas en el tema de Problema con date! en el foro de PHP en Foros del Web. Hola: Tenia la siguiente funcion: function fecha_noticia($fecha) { $hoy=date("d/m/Y"); $noticia=date("d/m/Y", strtotime($fecha)); if($hoy == $noticia) { echo date("H:i", strtotime($fecha)); } else { echo date("d/m/Y", strtotime($fecha)); } ...
  #1 (permalink)  
Antiguo 30/09/2008, 13:46
 
Fecha de Ingreso: diciembre-2004
Mensajes: 354
Antigüedad: 19 años, 4 meses
Puntos: 2
Problema con date!

Hola:

Tenia la siguiente funcion:

function fecha_noticia($fecha) {
$hoy=date("d/m/Y");
$noticia=date("d/m/Y", strtotime($fecha));
if($hoy == $noticia)
{
echo date("H:i", strtotime($fecha));
}
else
{
echo date("d/m/Y", strtotime($fecha));
}
}

Y que me funcionaba perfectamente (me imprimia la hora si la notiica era publicada hoy, y la fecha si era de un dia anterior), pero resulta que de un segundo a otro me da: 31/12/1969 en todas las noticias.

Que podra ser?
__________________
Pedro Pablo Vivanco D.
Webmaster todoalbo.cl
[email protected]
http://www.todoalbo.cl
"Dios creo el Cielo, Colo-Colo le puso todas sus Estrellas"
  #2 (permalink)  
Antiguo 30/09/2008, 13:53
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
Respuesta: Problema con date!

Posiblemente estés pasándole mal el parámetro $fecha a la función o quizá simplemente este mal la hora de tu servidor. Comprueba no sea eso antes de buscar por otro lado.

__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #3 (permalink)  
Antiguo 30/09/2008, 13:55
Avatar de ferbux  
Fecha de Ingreso: mayo-2007
Ubicación: por ahí intentado ayudar
Mensajes: 823
Antigüedad: 16 años, 11 meses
Puntos: 6
Respuesta: Problema con date!

Hola,

Mira puede ser que la hora de tu servidor esta mal, no se tal vez se deba mas a un problema de hardware que a tu codigo.


saludos!!!
__________________
"Eres grande por que caminas entre gigantes"
  #4 (permalink)  
Antiguo 30/09/2008, 15:02
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Problema con date!

Yo voy más a la opción que dice jam, si pasas un parámetro incorrecto ($fecha) te va a devolver esa fecha (que se conoce como UNIX_EPOCH), por lo que es probable que $fecha la estes trayendo de otro lugar.

Lo que creo es que lo tomas de algún formulario y antes usabas $fecha directamente por lo que si pasaron register_globals a off, vas a tener que usar $_GET/$_POST para obtener la fecha.

Saludos.
  #5 (permalink)  
Antiguo 30/09/2008, 19:00
 
Fecha de Ingreso: diciembre-2004
Mensajes: 354
Antigüedad: 19 años, 4 meses
Puntos: 2
Respuesta: Problema con date!

Ya me di cuenta de algo...
el campo "fecha" en la base de datos, es un campo varchar....pero estoy seguro que antes funcionaba perfecto!!..que podra ser?
__________________
Pedro Pablo Vivanco D.
Webmaster todoalbo.cl
[email protected]
http://www.todoalbo.cl
"Dios creo el Cielo, Colo-Colo le puso todas sus Estrellas"
  #6 (permalink)  
Antiguo 30/09/2008, 19:27
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
Respuesta: Problema con date!

Cita:
Iniciado por todoalbo Ver Mensaje
Ya me di cuenta de algo...
el campo "fecha" en la base de datos, es un campo varchar....pero estoy seguro que antes funcionaba perfecto!!..que podra ser?
¿Para qué pides cosas que no lees?. Por favor lee los comentarios de Gator, ferbux y mio.
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #7 (permalink)  
Antiguo 30/09/2008, 20:43
 
Fecha de Ingreso: diciembre-2004
Mensajes: 354
Antigüedad: 19 años, 4 meses
Puntos: 2
Respuesta: Problema con date!

Por que cosas que no leo? En ningun momento me dieron esa opcion, o al menos asi lo entendi yo.

Pero bueno...entonces no tengo solucion?
__________________
Pedro Pablo Vivanco D.
Webmaster todoalbo.cl
[email protected]
http://www.todoalbo.cl
"Dios creo el Cielo, Colo-Colo le puso todas sus Estrellas"
  #8 (permalink)  
Antiguo 30/09/2008, 21:29
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Problema con date!

No lees lo que te decimos, de donde recuperas el valor de $fecha, ya que ahí es donde reside tu problema.

Saludos.
  #9 (permalink)  
Antiguo 01/10/2008, 08:23
 
Fecha de Ingreso: diciembre-2004
Mensajes: 354
Antigüedad: 19 años, 4 meses
Puntos: 2
Respuesta: Problema con date!

aaah mil disculpas...
la funcion la llamo asi:

fecha_noticia($row["fecha"]);

ya que es un campo de la BD.
__________________
Pedro Pablo Vivanco D.
Webmaster todoalbo.cl
[email protected]
http://www.todoalbo.cl
"Dios creo el Cielo, Colo-Colo le puso todas sus Estrellas"
  #10 (permalink)  
Antiguo 01/10/2008, 08:33
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Problema con date!

Haz impreso el valor de $row['fecha'] antes de pasar por la función?

Saludos.
  #11 (permalink)  
Antiguo 01/10/2008, 08:36
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
Respuesta: Problema con date!

Se han mencionado tres cosas:
- La hora del servidor. ¿confirmaste sea la correcta?
- El formato de la fecha. Sí, pasas $row['fecha'] pero ¿y qué tiene $row['fecha']?. Imprime el valor y muéstralo (el que sea un varchar no es buena señal).
- El valor de register_globals. Crea un archivo que solo contenga la función phpinfo();, accede a él desde el navegador, busca por "register_globals", ¿qué valor tiene?. Si está en "On" tienes un problema, necesitas editar (o solicitarlo al administrador de tu hosting) el php.ini para que lo modifique a "Off"

Y sí, todo eso ya se había dicho, pero no ha habido comentarios tuyos al respecto.

Un saludo
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #12 (permalink)  
Antiguo 01/10/2008, 08:50
 
Fecha de Ingreso: diciembre-2004
Mensajes: 354
Antigüedad: 19 años, 4 meses
Puntos: 2
Respuesta: Problema con date!

A ver...por partes:
- el valor $row["fecha"] sin pasar la funcion imprime: 29/09/2008 20:28
- La fecha del servidor tambien es la correcta... la pueden ver en http://www.todoalbo.cl/fecha.php donde imprimi date("d/m/Y") y me dio: 01/10/2008, es decir, la fecha de hoy.
- Register Globals se encuentra en ON...cual es la diferencia entre ON y OFF? Si no me equivoco en OFF tendria que pasar todas las variables con $_POST y $_GET o no? lo que me llevaria a tener que revisar todos los php de la web.

Gracias
__________________
Pedro Pablo Vivanco D.
Webmaster todoalbo.cl
[email protected]
http://www.todoalbo.cl
"Dios creo el Cielo, Colo-Colo le puso todas sus Estrellas"
  #13 (permalink)  
Antiguo 01/10/2008, 09:08
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Problema con date!

Puede ser que al usar ese formato strtotime no pueda convertir tu fecha a un formato timestamp por lo que no te funciona (cuando strtotime tiene un "error" regresa false).

En este documento: http://www.gnu.org/software/tar/manu...t-formats.html se especifican los formatos "aceptables" que soporta strtotime.

Saludos.
  #14 (permalink)  
Antiguo 01/10/2008, 09:13
 
Fecha de Ingreso: diciembre-2004
Mensajes: 354
Antigüedad: 19 años, 4 meses
Puntos: 2
Respuesta: Problema con date!

Revisando los formatos...no hay ninguno del tipo dd/mm/yyyy hh:mm ... solo estan dd/mm/yy y aparte hh:hh ambos por separado...

entonces...no tengo nada que hacer? O sea...la opcion sería cambiar la forma de almacenar la fecha en la bd?
__________________
Pedro Pablo Vivanco D.
Webmaster todoalbo.cl
[email protected]
http://www.todoalbo.cl
"Dios creo el Cielo, Colo-Colo le puso todas sus Estrellas"
  #15 (permalink)  
Antiguo 01/10/2008, 09:23
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
Respuesta: Problema con date!

Cita:
Iniciado por todoalbo Ver Mensaje
entonces...no tengo nada que hacer? O sea...la opcion sería cambiar la forma de almacenar la fecha en la bd?
Sería la opción correcta: fechas son fechas, no "solo texto". Pero igual puedes descomponer tu mismo tu formato --un par de explode()-- y obtener el valor con mktime().
www.php.net/explode
www.php.net/mktime

__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
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 11:30.