[Perl] obtener numero de segundos
Roberto Ruiz
rruiz en expoempresas.com
Vie Abr 15 13:33:54 CDT 2005
Hola,
On Fri, Apr 15, 2005 at 09:04:11AM +0200, miguel gmail wrote:
>
> El problema del CPAN para mi es que no me puedo descargar los modulos
> que quisiera, aqui la conexion esta muy controlada.
>
> En cualquier caso, encontre la solucion, era bastante sencilla (mi tio
> google sabe bastante de esto ;-) ):
>
> $fecha_inicio = (localtime);
> chomp ($fecha_inicio);
>
> # separamos la fecha por espacios:
> ($vars1, $vars2, $vars3, $vars4, $vars5) = split(/ /,$fecha_fin);
> # el cuarto campo es el de horas:minutos:segundos, que separamos por el ´:´ :
> ($hora, $minutos, $segundos) = split (/:/,$vars4);
>
> y de ahi con unas pocas operaciones algebraicas, y repitiendo el
> proceso para el inicio y el fin, ya sale el numero de segundos total.
Ayer ya no contesté, pero creo que lo más sencillo es usar la función
time, esta te da el número de segundos transcurridos desde la fecha
que se considere cómo la "epoch" en tu sistema. Así que si pones:
$i = time;
<... proceso ...>
$f = time;
$d = $f - i;
En $d tienes el número de segundos trnscurridos en el proceso.
> Por supuesto, hay formas mas perlisticas de hacerlo, seguro, pero yo
> acabo de empezar con perl... ;-)
Así es, en Perl siempre hay otra manera de hacer las cosas. ;) OJO:
otra manera, no necesariamente más Perlística. ;)
También te recomiendo que uses el perldoc, con la opción -f busca en
funciones y con -q busca en los faq's. En el perlfaq8 viene una forma
de cómo medir el tiempo en fracciones de segundo.
perldoc -f time
perldoc -q time
Saludos, Dios te bendiga,
Roberto Ruiz
Más información sobre la lista de distribución Perl