Foros del Web » Programando para Internet » PHP »

formato fecha int y año

Estas en el tema de formato fecha int y año en el foro de PHP en Foros del Web. tengo la fecha en formato int, la toma de time() intento sacar el año de la fecha con : select DATE_FORMAT(time,'%Y') FROM nuke_stories (time)es el ...
  #1 (permalink)  
Antiguo 02/10/2003, 12:46
Avatar de jonk  
Fecha de Ingreso: julio-2002
Ubicación: Barakaldo
Mensajes: 104
Antigüedad: 15 años, 4 meses
Puntos: 0
formato fecha int y año

tengo la fecha en formato int, la toma de time() intento sacar el año de la fecha con :


select DATE_FORMAT(time,'%Y') FROM nuke_stories
(time)es el nombre del campo fecha

no me saca nada ¿alguna idea?

thx
__________________

MyWay. A mi manera
http://myway.i-barakaldo.com
  #2 (permalink)  
Antiguo 02/10/2003, 13:06
 
Fecha de Ingreso: agosto-2003
Mensajes: 198
Antigüedad: 14 años, 3 meses
Puntos: 10
Prueba esto:

//Fecha actual *************************************
$segundos=strftime("%Y/%m/%d");
// Fecha formato DD/MM/YY***************************
$fechactual=strftime("%d/%m/%Y",strtotime($segundos));
// SOLO EL AÑO
$anyo=strftime("%Y",strtotime($segundos));
  #3 (permalink)  
Antiguo 02/10/2003, 13:22
 
Fecha de Ingreso: abril-2003
Mensajes: 656
Antigüedad: 14 años, 7 meses
Puntos: 1
si tienes en tu BDD la fecha en formato int, la toma como un numero asi pues debes tratarlo como tal, es mejor introducir la fecha en las bdds con un campo especial para ello , si no recuerdo mal son tres, y a la hora de sacar la informacion relacionada con fechas ( intervalos, fechas etc...) es mucho mas facil pues exiten muchas funciones para ello y liberas al php de trabajo que hace el server de la BDD.

Ahora bien si lo tienes asi para formatear la fecha de salida tambien puedes emplear la funcion date() en la cual formateas como quieras.

date("Y/m/j" $datos_bdd)

tienes informacion y ejemplos en como formatear la fecha en esta direccion
http://www.rinconastur.com/php/php52.php

espero que te sirva
  #4 (permalink)  
Antiguo 02/10/2003, 14:02
Avatar de jonk  
Fecha de Ingreso: julio-2002
Ubicación: Barakaldo
Mensajes: 104
Antigüedad: 15 años, 4 meses
Puntos: 0
gracias :)

lo del date() ya lo utilizo, lo que io kiero es hacer una consulta que muestre los años y no la fecha entera, me explico algo del tipo:

select titulo,count(titulo) as cuenta from nuke_stories group by titulo desc

donde en titulo seria la fecha( solo el año)

__________________

MyWay. A mi manera
http://myway.i-barakaldo.com
  #5 (permalink)  
Antiguo 02/10/2003, 14:14
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

A ver si me aclaro. ¿En el campo time de tu base de datos, que alamacenas: el año como int o es un campo date? Y luego, ¿como intentas recuperar de la consulta que has puesto primero? Porque para esta consulta:

select DATE_FORMAT(time,'%Y') FROM nuke_stories

Para obtener el dato debes usar mysql_fetch_array() y usar el indice numerico:
Código PHP:
$row=mysql_fetch_array($result);
echo 
$row[0]; 
Es mas facil usar un alias para ese campo:

select DATE_FORMAT(time,'%Y') as anio FROM nuke_stories

y luego usar anio como indice en $row.

Esto si es que no me he liado y no es esto tu problema.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #6 (permalink)  
Antiguo 09/10/2003, 09:39
Avatar de jonk  
Fecha de Ingreso: julio-2002
Ubicación: Barakaldo
Mensajes: 104
Antigüedad: 15 años, 4 meses
Puntos: 0
ya estaaaaaa :))) lo solucione jejeje:

SELECT FROM_UNIXTIME(time,'%Y') as año, count(title) AS total from nuke_stories group by año

* lo que devuelve:

AÑO TOTAL
-------- ---------
2002 28
2003 2

:)
__________________

MyWay. A mi manera
http://myway.i-barakaldo.com

Última edición por jonk; 09/10/2003 a las 09:41
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 13:22.