La salida de
Using perl Syntax Highlighting
#!/usr/bin/perl -l
use strict
;
use warnings
;
use diagnostics
;
my ($sec,$min,$hour,$mday,$mon,$year) = localtime;
$year += 1900;
$mon ++;
my $hoy = "$year/$mon/$mday $hour:$min:$sec";
my $fechaInicio = 1212289200;
my $suma = 7
*24
*60
*60;
my $fechaU = $fechaInicio;
($sec,$min,$hour,$mday,$mon,$year) = localtime($fechaInicio);
$year += 1900;
$mon ++;
my $inicio = "$year/$mon/$mday $hour:$min:$sec";
print "Inicio: $inicio";
while ($fechaU <= time) {
$fechaU += $suma;
($sec,$min,$hour,$mday,$mon,$year) = localtime($fechaU);
$year += 1900;
$mon ++;
my $fin = "$year/$mon/$mday $hour:$min:$sec";
print "Fin: $fin";
#comandos varios!
$inicio = $fin;
}Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4
es
- Código: Seleccionar todo
Inicio: 2008/6/1 5:0:0
Fin: 2008/6/8 5:0:0
Fin: 2008/6/15 5:0:0
Fin: 2008/6/22 5:0:0
Fin: 2008/6/29 5:0:0
Fin: 2008/7/6 5:0:0
Fin: 2008/7/13 5:0:0
Fin: 2008/7/20 5:0:0
Fin: 2008/7/27 5:0:0
Fin: 2008/8/3 5:0:0
Fin: 2008/8/10 5:0:0
Fin: 2008/8/17 5:0:0
Fin: 2008/8/24 5:0:0
Fin: 2008/8/31 5:0:0
Fin: 2008/9/7 5:0:0
Fin: 2008/9/14 5:0:0
Fin: 2008/9/21 5:0:0
Fin: 2008/9/28 5:0:0
Fin: 2008/10/5 5:0:0
Fin: 2008/10/12 5:0:0
Fin: 2008/10/19 5:0:0
Fin: 2008/10/26 4:0:0
Humm... es un poco más fea...
En cuestión de control de tiempos y fechas, siempre es recomendable usar DateTime.
Otra forma es usar strftime() del módulo POSIX (que sí viene incluido de base) que nos puede ayudar a formatear la salida:
Using perl Syntax Highlighting
#!/usr/bin/perl -l
use strict
;
use warnings
;
use diagnostics
;
use POSIX
qw(strftime
);
my $hoy = strftime
'%F %T', localtime;
print "Hoy: $hoy";
my $fechaInicio = 1212289200;
my $suma = 7
*24
*60
*60;
my $fechaU = $fechaInicio;
my $inicio = strftime
'%F %T', localtime $fechaInicio;
print "Inicio: $inicio";
while ($fechaU <= time) {
$fechaU += $suma;
my $fin = strftime
'%F %T', localtime $fechaU;
print "Fin: $fin";
#comandos varios!
$inicio = $fin;
}Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4
Sale:
- Código: Seleccionar todo
Hoy: 2008-10-21 21:46:59
Inicio: 2008-06-01 05:00:00
Fin: 2008-06-08 05:00:00
Fin: 2008-06-15 05:00:00
Fin: 2008-06-22 05:00:00
Fin: 2008-06-29 05:00:00
Fin: 2008-07-06 05:00:00
Fin: 2008-07-13 05:00:00
Fin: 2008-07-20 05:00:00
Fin: 2008-07-27 05:00:00
Fin: 2008-08-03 05:00:00
Fin: 2008-08-10 05:00:00
Fin: 2008-08-17 05:00:00
Fin: 2008-08-24 05:00:00
Fin: 2008-08-31 05:00:00
Fin: 2008-09-07 05:00:00
Fin: 2008-09-14 05:00:00
Fin: 2008-09-21 05:00:00
Fin: 2008-09-28 05:00:00
Fin: 2008-10-05 05:00:00
Fin: 2008-10-12 05:00:00
Fin: 2008-10-19 05:00:00
Fin: 2008-10-26 04:00:00
A propósito... el día 26 marca una hora menos porque, justamente ese día, se produce el cambio de hora de invierno aquí en España.