Página 2 de 4

NotaPublicado: 2006-03-20 20:13 @884
por kidd
Parece que todo está bien, tus fechas las tienes bien puestas. Lo que habría de revisar es si tienes el archivo de configuración en el mismo directorio donde se encuentra el módulo.

Saludos

NotaPublicado: 2006-03-22 09:58 @457
por kaeri
Hola, kidd.

En este directorio es donde tengo el archivo de configuración:
Sintáxis: [ Descargar ] [ Ocultar ]
Using bash Syntax Highlighting
cd /usr/local/lib/perl5/site_perl/5.8.3/Date/
Coloreado en 0.004 segundos, usando GeSHi 1.0.8.4

Dentro de ese directorio se encuentran los archivos
Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
Manip.pm  Manip.pod  misDiasFestivos.cfg
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4


:cry:

Re: Suma de fechas

NotaPublicado: 2006-03-27 13:05 @586
por explorer
Entonces prueba a poner esto:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. Date_Init(
  2.     "Language=English",
  3.     "DateFormat=non-US",
  4.     "EraseHolidays=1",
  5.     "PersonalCnf=/usr/local/lib/perl5/site_perl/5.8.3/Date/misDiasFestivos.cfg"
  6. );
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4

Quizás es que Date::Manip no encuentra el camino al fichero.
Otra opción es:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. Date_Init(
  2.     "Language=English",
  3.     "DateFormat=non-US",
  4.     "EraseHolidays=1",
  5.     "PersonalCnfPath=/usr/local/lib/perl5/site_perl/5.8.3/Date/",
  6.     "PersonalCnf=misDiasFestivos.cfg"
  7. );
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4

NotaPublicado: 2006-03-28 14:30 @646
por kaeri
Ya he realizado lo que me comentas y no quiere realizar las operaciones. ¿De qué otra forma podría hacerlo?

Lo que quiero realizar que a partir de una fecha sumándole 10 días se quiten los días festivos, sábados y domingos y al final imprima la fecha correcta.

kaeri :(

Re: Suma de fechas

NotaPublicado: 2006-03-28 15:41 @695
por explorer
¡¡¡Descubierto el fallo!!!

Sintáxis: (fiestas.txt) [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
*Holidays

21/3 = Día Natalicio de Benito Jaurez
16/9 = Día de la Independencia
20/11 = Día de la Revolución Mexicana
third Sunday in Jun = Día del Padre
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4

Sintáxis: (prueba.pl) [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. #!/usr/bin/perl -l
  2.  
  3. use Date::Manip;
  4.  
  5. Date_Init( "Language=English", "DateFormat=non-US","EraseHolidays=1","PersonalCnf=fiestas.txt");
  6. $fecha = DateCalc("17/03/2006", "+9 business days");
  7. $fecha = UnixDate($fecha,"%d/%m/%Y");
  8. print $fecha; # 31/03/2006
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


Según he comprobado, y como puedes ver, el fallo estaba en la forma de poner las fechas de las fiestas.

Otra cosa: Si pones el fichero de fiestas en el mismo directorio que el ejecutable, ya ves que no es necesario poner ningún camino al fichero.

Incluso funciona en español:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. #!/usr/bin/perl -l
  2.  
  3. use Date::Manip;
  4.  
  5. Date_Init( "Language=Spanish", "DateFormat=non-US","EraseHolidays=1","PersonalCnf=fiestas.txt");
  6. $fecha = DateCalc("17/03/2006", "+9 dias laborales");
  7. $fecha = UnixDate($fecha,"%d/%m/%Y");
  8. print $fecha; #31/03/2006
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


Lo he probado con la v5.42 en Suse.

Recuerda que para la v5.44 (la última) y si quieres usarlo en español, entonces hay que parchearlo como te comentaba antes.

NotaPublicado: 2006-03-28 17:09 @756
por kidd
explorer escribiste:¡¡¡Descubierto el fallo!!!

Según he comprobado y como puedes ver, el fallo estaba en la forma de poner las fechas de las fiestas.


Y según yo lo había revisado, lo bueno es que encontraste el fallo. :wink:


Saludos

Re: Suma de fechas

NotaPublicado: 2013-09-09 15:09 @673
por piero66
Hola, buen día. Reabro el tema, ya que como aquí se menciona, no me toma en cuenta los días festivos. Inclusive instalé el Date::Manip y ahora me marca los siguientes errores:

Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
ERROR: [config_var] invalid config variable: personalcnfpath
ERROR: [config_var] invalid config variable: personalcnf
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4


Busqué y hay un archivo llamado DateManip.cnf, pero éste no existe en mi servidor. No sé si lo debo crear ni dónde o en qué ruta guardarlo y cómo vincularlo con mi archivo Manip.pm y mis diasfestivos.txt.

¡¡ Espero me puedan apoyar !!

Re: Suma de fechas

NotaPublicado: 2013-09-09 18:34 @815
por explorer
Por el error yo diría que le has pasado a Data::Manip una mala configuración.

¿Puedes publicar el código que estás probando? Con las líneas que usas para definir las fechas, nos vale. Mira los ejemplos de código de los anteriores mensajes. Verás que con cuatro líneas es suficiente para ver qué estás haciendo.

Re: Suma de fechas

NotaPublicado: 2013-09-10 13:12 @592
por piero66
¿Qué tal, explorer? Gracias por contestar... ¡¡ Te agrego el código !!

use Date::Manip; # módulo de Perl
use DBI;


use Date::Calc qw(Today Delta_Days);
use Spreadsheet::WriteExcel;

my ($sec,$min,$hour,$mday,$mes,$anio,$wday,$yday,$isdst) = localtime(time);
$mes++;
$anio+=1900;

$dateIn ="$anio-$mes-$mday";
Date_Init( "Language=English", "DateFormat=non-US","EraseHolidays=0","PersonalCnfPath=/usr/lib64/perl5/vendor_perl/Eflow/date/","PersonalCnf=misDiasFestivos.cfg");

$fechain = DateCalc("$dateIn", "+ 1 business days");

Re: Suma de fechas

NotaPublicado: 2013-09-10 15:19 @680
por explorer
Vale, el problema es que tu módulo Date::Manip es de la versión 6, mientras que los ejemplos que hay en este hilo, y tu programa, está siguiendo las opciones de la versión 5.

Debes consultar la documentación de la configuración del módulo, pero creo que valdría con

Date_Init("ConfigFile=misDiasFestivos.cfg", ...<resto de opciones>...

Dice el manual que ConfigFile debe ir en primer lugar de Date_Init.