Lun Abr 24, 2006 1:41 am
|
 |
Wert
Perlero Nuevo

|
Registrado: 22 Mar 2006
Mensajes: 6
|
|
| Fecha del día anterior |
|
|
Buenas.
¿Existe alguna función ya creada que me dé como resultado la fecha del día anterior y sin utilizar módulos?
Gracias. |
|
|
|
Lun Abr 24, 2006 4:14 am
|
 |
explorer
Moderador

|
Registrado: 24 Jul 2005
Mensajes: 4091
Ubicación: Valladolid, España
|
|
|
|
|
No. Hay que calcularla.
Tienes que pasar la fecha actual a segundos desde el epoch, restar los segundos que tiene un día y pasar esos segundos a fecha actual.
| Código: |
| perl -le '$segundos = time - 24*60*60; print join(":",localtime($segundos))' |
Ver localtime. |
|
Lun Abr 24, 2006 7:17 am
|
 |
kidd
Creador de Perl en Español

|
Registrado: 15 Oct 2003
Mensajes: 1389
Ubicación: México
|
|
|
|
|
Hola:
No entiendo muy bien a qué te refieres sin módulos, pues realmente siempre terminas usando módulos de Perl, ahora, si te preocupa usar módulos que no vengan con todas la distribuciones de Perl, entonces puedes usar la solución de explorer, o también la siguiente:
| Código: |
use strict;
use POSIX qw[strftime];
my $yesterday = strftime('%d-%m-%Y', localtime(time - 60 * 60 * 24));
print "Ayer: $yesterday\n"; |
En este caso usa el módulo POSIX que viene con la distribución de Perl.
Saludos |
|
Lun Abr 24, 2006 10:36 am
|
 |
Wert
Perlero Nuevo

|
Registrado: 22 Mar 2006
Mensajes: 6
|
|
|
|
|
Buenas.
Restando los segundos a la fecha funciona perfectamente.
No puedo utilizar módudos porque en las máquinas que ejecuto el script sólo tengo el fichero perl.exe de la versión 5.004_02 y no tengo posiblidad de introducir más ficheros.
Gracias por la ayuda. |
|
Powered by phpBB © 2001, 2005 phpBB Group
|