Foros del Web » Programación para mayores de 30 ;) » Programación General »

Pasar fecha a time y viceversa!

Estas en el tema de Pasar fecha a time y viceversa! en el foro de Programación General en Foros del Web. Estoy tratando con fechas y todo lo que me encuentro es como formatear la fecha. Resulta que yo necesito comprar fechas y meterlas a un ...
  #1 (permalink)  
Antiguo 20/03/2008, 09:27
 
Fecha de Ingreso: septiembre-2002
Ubicación: México
Mensajes: 356
Antigüedad: 21 años, 7 meses
Puntos: 0
Pasar fecha a time y viceversa!

Estoy tratando con fechas y todo lo que me encuentro es como formatear la fecha. Resulta que yo necesito comprar fechas y meterlas a un while, de tal manera que un proceso se repita siempre y cuando la fecha no rebase un rango.

Digamos:

Código:
my ($fecha1) = "2008-01-01";
my ($fecha2) = "2008-01-31";
Yo necesitaria repetir un proceso que busca datos en la base por fecha especifica, , entonces tendria que ir metiendo un dia a la vez e ir avanzando desde el 1 de enero hasta que la fecha llegue al 31 de enero de 2008.

Lo que he pensado es convertir la fecha a time() para que comparar entre enteros, pero no encuentro como pasar mi cadena a formato time() .

Espero me puedan ayudar.

Saludos!!
  #2 (permalink)  
Antiguo 20/03/2008, 19:29
Colaborador
 
Fecha de Ingreso: mayo-2006
Ubicación: Valladolid
Mensajes: 524
Antigüedad: 18 años
Puntos: 11
Re: Pasar fecha a time y viceversa!

Código:
#!/usr/bin/perl -l
use DateTime;

my $fecha1 = DateTime->new(
    year  => 2008,
    month =>  1,
    day   =>  1,
);
my $fecha2 = DateTime->new(
    year  => 2008,
    month =>  1,
    day   => 31,
);

for (
        my $fecha = $fecha1;
        DateTime->compare($fecha, $fecha2) <= 0;
        $fecha->add( days => 1 )
    ) {

    print $fecha->ymd;
}
Código:
2008-01-01
2008-01-02
2008-01-03
2008-01-04
2008-01-05
2008-01-06
2008-01-07
2008-01-08
2008-01-09
2008-01-10
2008-01-11
2008-01-12
2008-01-13
2008-01-14
2008-01-15
2008-01-16
2008-01-17
2008-01-18
2008-01-19
2008-01-20
2008-01-21
2008-01-22
2008-01-23
2008-01-24
2008-01-25
2008-01-26
2008-01-27
2008-01-28
2008-01-29
2008-01-30
2008-01-31

Última edición por jferrero; 20/03/2008 a las 19:38
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:34.