Foros del Web » Programando para Internet » PHP »

conversión de tipos en fechas

Estas en el tema de conversión de tipos en fechas en el foro de PHP en Foros del Web. hola ke tal maestros, aquí cuestionandolos una vez más, requeriendo su ayuda... resulta que estoy haciendo una función llamada fechas para que me devuelva un ...
  #1 (permalink)  
Antiguo 03/07/2008, 12:35
 
Fecha de Ingreso: diciembre-2007
Ubicación: Frente al ordenador...
Mensajes: 139
Antigüedad: 9 años, 9 meses
Puntos: 1
conversión de tipos en fechas

hola ke tal maestros, aquí cuestionandolos una vez más, requeriendo su ayuda...
resulta que estoy haciendo una función llamada fechas para que me devuelva un arreglo con las 10 fechas anteriores, puede ser mas de 10... a partir del día de hoy, mmm...mi problema radica cuando son los diez primero días del mes, ya que la resta que uso me deja mocho el formato de fecha que estoy utilizando, me explico si hoy es 2008-07-03 y le kito un día...me kede 2008-07-2 lo que hace que me descuadre todo, sobre todo al bajar de mes...anexo el código por si saben donde puedo estar mal.

Código PHP:
function fechas()
 {
  
$fecha_actual date("Y-m-d");
  
$fecha_trabajar str_split($fecha_actual);
  
  
$año_hoy $fecha_trabajar[0] .$fecha_trabajar[1] .$fecha_trabajar[2] .  $fecha_trabajar[3];
  
$mes_hoy $fecha_trabajar[5] .$fecha_trabajar[6];
  
$hoy_hoy $fecha_trabajar[8] .$fecha_trabajar[9];
  
  
$reco 1;
  
//El primer dato del arreglo siempre será la fecha de hoy...
  
$dias_pasados[0]= $año_hoy."-".$mes_hoy."-".$hoy_hoy;
  
$hoy_hoy--;
  
  while(
$hoy_hoy!="01")
  {
   
$hoy_hoy--;
   
$dias_pasados[$reco]= $año_hoy."-".$mes_hoy."-".$hoy_hoy;
   
$reco++;
  }
  
  
$hoy_hoy="01";
  
$dias_pasados[$reco]= $año_hoy."-".$mes_hoy."-".$hoy_hoy;
  
$reco++;
  
//Checa los meses para poner ya sea 30 y 31 en el último dia...
  
if($hoy_hoy=="01")
  {
   
$mes_hoy--;
   
str_pad($mes_hoy2"0"STR_PAD_LEFT);  
     
   if(
$mes_hoy=="01" || $mes_hoy=="03" || $mes_hoy=="05" || $mes_hoy=="07" || $mes_hoy=="08" || $mes_hoy=="10" ||$mes_hoy=="12")
    {
     
$hoy_hoy="31";
    }
   
   elseif(
$mes_hoy=="02")
   {
    
$hoy_hoy="28";
   }
   
   elseif(
$mes_hoy=="04" || $mes_hoy=="06" || $mes_hoy=="09" || $mes_hoy=="11")
   {
    
$hoy_hoy="30";
   }
   
  }
  
  while(
$hoy_hoy!="01")
  {
   
$hoy_hoy--;
   
$dias_pasados[$reco]= $año_hoy."-".$mes_hoy."-".$hoy_hoy;
   
$reco++;      
  }
  
  return 
$dias_pasados;
 } 
ok, si lo corro...con el día de hoy me saldría esto...

2008-07-03
2008-07-1 --->se supone ke es 02
2008-07-01
2008-6-29 ---->aquí debería ser 06 y 30 en el día...
2008-6-28

así es como pasa, no sé si sea por la conversión de tipos, les agradecería mucho su ayuda...
__________________
----------------------------------------------------------
Algunas cosas simplemente son bellas...por que uno no puede tenerlas...
  #2 (permalink)  
Antiguo 03/07/2008, 14:56
Avatar de Tombar  
Fecha de Ingreso: junio-2008
Ubicación: /home/tombar
Mensajes: 198
Antigüedad: 9 años, 3 meses
Puntos: 11
Respuesta: conversión de tipos en fechas

yo usaria la funcion date y la funcion mktime solamente... con eso puedes hacer lo que necesitas sin complicarte tanto la existencia...

Te recomiendo veas ambas documentaciones y prestes especial atencion a los parametros que se le pueden pasar a date, por ejemplo pasar m si el mes es julio va a decir 7 si pasas M va a decir 07...

Saludos y a las ordenes..
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 20:09.