Perl en Español

  1. Home
  2. Tutoriales
  3. Foro
  4. Artículos
  5. Donativos
  6. Publicidad
 

Día de la semana de una fecha determinada

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Básico
Mensaje Mar May 06, 2008 7:44 am
rubentxuweb
Perlero Nuevo
Perlero Nuevo
Registrado: 06 May 2008
Mensajes: 2
Día de la semana de una fecha determinada Responder citando

¡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 Confused

¡Gracias un millón!

Ruben.
Mensaje Mar May 06, 2008 9:01 am
explorer
Moderador
Moderador
Registrado: 24 Jul 2005
Mensajes: 3654
Ubicación: Valladolid, España
Responder citando

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.
Mensaje Mar May 06, 2008 11:48 am
kidd
Creador de Perl en Español
Creador de Perl en Español
Registrado: 15 Oct 2003
Mensajes: 1331
Ubicación: México
Responder citando

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


http://perlenespanol.baboonsoftware.com/tutoriales/modulos/usar_modulos_sin_instalar.html
Mensaje Mie May 07, 2008 3:35 pm
rubentxuweb
Perlero Nuevo
Perlero Nuevo
Registrado: 06 May 2008
Mensajes: 2
Responder citando

¡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!
Publicar nuevo tema   Responder al tema    Foros de discusión -> Básico Todas las horas son GMT - 6 Horas
Página 1 de 1



Powered by phpBB © 2001, 2005 phpBB Group