Foros del Web » Programando para Internet » PHP »

Transformar fecha

Estas en el tema de Transformar fecha en el foro de PHP en Foros del Web. Hola a todos, tengo en una variable la siguiente cadena que representa a una fecha; 10510 que quiere decir ; día 01, mes 05, año ...
  #1 (permalink)  
Antiguo 08/09/2010, 08:35
 
Fecha de Ingreso: agosto-2010
Mensajes: 8
Antigüedad: 13 años, 9 meses
Puntos: 0
Transformar fecha

Hola a todos, tengo en una variable la siguiente cadena que representa a una fecha;

10510 que quiere decir ; día 01, mes 05, año 2010.
ó 300510 que sería ; día 30, del mes 05 del año 2010.

alguien sabe si hay alguna función, o como sería la mejor manera de pasar estas variables al formato date('Ymd') asi puedo comparar por menor o mayor las fechas.

Gracias, Saludos
  #2 (permalink)  
Antiguo 08/09/2010, 08:47
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 17 años, 9 meses
Puntos: 70
Respuesta: Transformar fecha

Con substr indicas las posiciones que deseas cortar, inicio, fin.

Código PHP:
Ver original
  1. $fecha = '300510';
  2. $rest = substr($fecha, 0, 1);
  3. // Te arroja 30

Saludos.
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #3 (permalink)  
Antiguo 08/09/2010, 08:59
 
Fecha de Ingreso: agosto-2010
Mensajes: 8
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Transformar fecha

Ok, gracias, si esa forma la conocía, pero pense que quizas había otrra manera de hacerlo. Gracias igual
  #4 (permalink)  
Antiguo 08/09/2010, 09:18
 
Fecha de Ingreso: octubre-2009
Mensajes: 9
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Transformar fecha

con que tipo de dato almacenas esa fecha en la Bd?

pq para comparar fechas no es necesario que esten formateadas las fechas....!
  #5 (permalink)  
Antiguo 08/09/2010, 09:27
 
Fecha de Ingreso: agosto-2010
Mensajes: 8
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Transformar fecha

El formato es:

int(6)
  #6 (permalink)  
Antiguo 08/09/2010, 09:34
 
Fecha de Ingreso: octubre-2009
Mensajes: 9
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Transformar fecha

busca info sobre tipo de dato date... te ayudara!
  #7 (permalink)  
Antiguo 08/09/2010, 09:51
 
Fecha de Ingreso: enero-2009
Ubicación: Neiva, Huila
Mensajes: 196
Antigüedad: 15 años, 3 meses
Puntos: 2
Respuesta: Transformar fecha

No te compliques la vida...y crea una funcion como esta...se puede optimizar mas...lo que pasa es que ando en el trabajo... que pena

<?php
function fecha ($fecha,$ano20101,$ano20102)//$ano20101 es el limite inferior para indicar desde que año se le dará el tratamiento
//2010 y el $ano20101 es el limite superior para indicar hasta que año se le dara el tratamiento 2010 los demas seran 1900
{
if(strlen($fecha)==5)
{
$dia="0".substr($fecha,0,1);
$mes=substr($fecha,1,2);
$anno=substr($fecha,3,2);
}
else
if(strlen($fecha)==6)
{
$dia=substr($fecha,0,2);
$mes=substr($fecha,2,2);
$anno=substr($fecha,4,2);
}
if(intval($anno)>=intval($ano20101) and intval($anno)<=intval($ano20102))
{
$anno="20".$anno;
}
else
{
$anno="19".$anno;
}
return $anno.$mes.$dia;
}

echo date('Ymd',strtotime(fecha('10510',1,20)));
echo "<br>";
echo date('Ymd',strtotime(fecha('300510',1,20)));
?>
  #8 (permalink)  
Antiguo 08/09/2010, 10:02
 
Fecha de Ingreso: agosto-2010
Mensajes: 8
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Transformar fecha

Espectacular, algo así buscaba, Muchas Gracias
  #9 (permalink)  
Antiguo 08/09/2010, 10:09
 
Fecha de Ingreso: enero-2009
Ubicación: Neiva, Huila
Mensajes: 196
Antigüedad: 15 años, 3 meses
Puntos: 2
Respuesta: Transformar fecha

te recomiendo que el limite inferior lo dejes en 0 para que te tome el año 2000
  #10 (permalink)  
Antiguo 08/09/2010, 10:32
 
Fecha de Ingreso: agosto-2010
Mensajes: 8
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Transformar fecha

Al limite inferior te referís al que le pasas;

echo date('Ymd',strtotime(fecha('10510',1,20)));

aca sería el ,1, de esta cadena = ('10510',1,20) ?
  #11 (permalink)  
Antiguo 08/09/2010, 10:40
 
Fecha de Ingreso: enero-2009
Ubicación: Neiva, Huila
Mensajes: 196
Antigüedad: 15 años, 3 meses
Puntos: 2
Respuesta: Transformar fecha

exactamente, lo que le estoy diciendo es que para los digitos que corresponde a los años...donde se encuentre un numero entre 1 y 20 los convierta le agregue 2 digitos antes al string ejemolo si el string es 01 el numero sera 1 entonces si esa dentro de ese limite se le agrega el 20 si no esta se le agrega el 19

si el string es 00 el numero seria 0 entonces le agregaria el 20 y quedaria 2000
si el string es 99 el numero seria 99 entonces le agregaria el 19 y quedaria 1999

XD...

Etiquetas: transformar, fechas
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 18:30.