Mar May 06, 2008 7:44 am
|
 |
rubentxuweb
Perlero Nuevo

|
Registrado: 06 May 2008
Mensajes: 2
|
|
| Día de la semana de una fecha determinada |
|
|
¡Hola!
Antes de publicar este mensaje he estado buscando en el foro y no he encontrado respuesta a mi pregunta. Si ya está respondida os agradeceré que me digáis dónde.
Necesito saber el día de la semana de una fecha determinada. Ahora mismo, utilizo:
| Perl: | ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = localtime();
$mon = $mon+ 1;
$year = $year+ 1900; |
Lo que me da correctamente el día de la semana actual, pero no sé cómo obtener ese mismo valor en $wday para una fecha concreta, por ejemplo: 01/05/1980.
¿Qué debo hacer? ¡Ah! Mi proveedor no tiene instalados casi módulos, así que si existe algo "directo", mejor
¡Gracias un millón!
Ruben. |
|
|
|

Mar May 06, 2008 9:01 am
|
 |
explorer
Moderador

|
Registrado: 24 Jul 2005
Mensajes: 4143
Ubicación: Valladolid, España
|
|
|
|
|
Bienvenido a los foros de Perl en Español, rubentxuweb.
Esta es una solución, de las posibles.
| Perl: | use Time:: Local;
my $fecha = '01/04/1980';
my ($dia, $mes, $anno) = $fecha =~ / (\d+ )/g;
my $dia_de_la_semana = (localtime timelocal 0, 0, 0, $dia, $mes- 1, $anno- 1900)[6];
print $dia_de_la_semana; # 0..6, empezando en domingo
|
Usamos la acción combinada de timelocal() para pasar a fecha en formato segundos, y luego, de vuelta, con localtime(), de la que nos quedamos con el componente número 6.
Lo ideal es:
| Perl: | use DateTime;
my $fecha = DateTime-> new(
year => 1980,
month => 4,
day => 1,
);
print $fecha-> day_of_week(); # 1..7, empezando en lunes
|
Y si tu proveedor no tiene módulos instalados, puedes instalarlos tu mismo en tu propio directorio. |
|
Mar May 06, 2008 11:48 am
|
 |
kidd
Creador de Perl en Español

|
Registrado: 15 Oct 2003
Mensajes: 1389
Ubicación: México
|
|
|
|
Mie May 07, 2008 3:35 pm
|
 |
rubentxuweb
Perlero Nuevo

|
Registrado: 06 May 2008
Mensajes: 2
|
|
|
|
|
¡Hola!
¡¡¡Gracias por las respuestas!!! Ambas me han solucionado primeramente el problema que tenía con las fechas y por otra parte, poder usar módulos en mi servidor.
¡Gracias sinceras! |
|
Powered by phpBB © 2001, 2005 phpBB Group
|