Página 1 de 1

Día de la semana de una fecha determinada

NotaPublicado: 2008-05-06 08:44 @405
por rubentxuweb
¡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:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime();
$mon = $mon+1;
$year = $year+1900;
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4


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.

NotaPublicado: 2008-05-06 10:01 @459
por explorer
Bienvenido a los foros de Perl en Español, rubentxuweb.

Esta es una solución, de las posibles.
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
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
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


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:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
use DateTime;
my $fecha = DateTime->new(
    year  => 1980,
    month => 4,
    day   => 1,
);
print $fecha->day_of_week(); # 1..7, empezando en lunes
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


Y si tu proveedor no tiene módulos instalados, puedes instalarlos tu mismo en tu propio directorio.

NotaPublicado: 2008-05-06 12:48 @575
por kidd
explorer escribiste:Y si tu proveedor no tiene módulos instalados, puedes instalarlos tu mismo en tu propio directorio.


http://perlenespanol.com/tutoriales/mod ... talar.html

NotaPublicado: 2008-05-07 16:35 @732
por rubentxuweb
¡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!