• Publicidad

Suma de fechas

¿Ya sabes lo que es una referencia? Has progresado, el nível básico es cosa del pasado y ahora estás listo para el siguiente nivel.

Re: Suma de fechas

Notapor piero66 » 2013-09-11 10:47 @491

Listo, muchas gracias, ¡¡sí fue el cambio de versión!! Agrego lo que modifiqué por si alguien tiene el mismo problema.

Date_Init("ConfigFile=/usr/lib64/perl5/vendor_perl/Eflow/date/misDiasFestivos.cfg","Language=English", "DateFormat=non-US","EraseHolidays=1");

Mi archivo misDiasFestivos.cfg quedo así:
Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
sep 16 = independencia
nov 18 = revolucion MX
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4
piero66
Perlero nuevo
Perlero nuevo
 
Mensajes: 95
Registrado: 2008-05-22 12:00 @541

Publicidad

Re: Suma de fechas

Notapor explorer » 2013-09-11 15:33 @690

¿Has hecho pruebas de que te sale bien?

¿No le falta una línea

*Holidays

por delante, en el archivo de configuración?
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Suma de fechas

Notapor piero66 » 2013-11-12 11:06 @504

Retomo el tema, porque al parecer me confundí y aún no estaba ejecutándose bien.

Archivo CGI:

Date_Init("ConfigFile=/usr/lib64/perl5/vendor_perl/Eflow/date/misDiasFestivos.cfg","Language=English", "DateFormat=non-US","EraseHolidays=1");

El archivo LOG me arroja lo siguiente:

[Tue Nov 12 09:57:23 2013] [error] [client 192.1.47.126] WARNING: [config_file] unknown section created: holiday, referer: https://192.1.47.100/cgi-bin
[Tue Nov 12 09:57:27 2013] [error] [client 192.1.47.126] WARNING: [config_file] unknown section created: holiday, referer: https://192.1.47.100/cgi-bin

Y mi archivo de configuración de días lo tengo como sigue:

*Holiday

nov 18 = revolucion
Dec 12 = dia de la virgen
Dec 19 = vacaciones
Dec 20 = vacaciones
Dec 23 = vacaciones
Dec 24 = vacaciones
Dec 25 = vacaciones
Dec 26 = vacaciones
Dec 27 = vacaciones
Dec 30 = vacaciones
Dec 31 = vacaciones
Jan 1 = Anio nuevo


¿Qué podrá ser, compañeros? :?
piero66
Perlero nuevo
Perlero nuevo
 
Mensajes: 95
Registrado: 2008-05-22 12:00 @541

Re: Suma de fechas

Notapor explorer » 2013-11-12 12:46 @573

No es

*Holiday

sino

*Holidays

Mirar ejemplo en Date::Manip::ConfigFile.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Suma de fechas

Notapor piero66 » 2013-11-13 11:57 @540

Gracias, ya vi la documentación, pero no sé si tengo algo mal

Lo dejo así, a ver si con cualquiera de los tres jala.
Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
*Holidays

18/11/2013 = revolucion
third Monday in nov = revolucion
1*11:0:18:0:0:0 = revolucion
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4


¡¡¡Y ni aun así me funciona!!!
:?
piero66
Perlero nuevo
Perlero nuevo
 
Mensajes: 95
Registrado: 2008-05-22 12:00 @541

Re: Suma de fechas

Notapor explorer » 2013-11-13 12:08 @547

¿Te sale un error de unknown section created: holidays?
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Suma de fechas

Notapor piero66 » 2013-11-13 12:21 @556

Es lo malo: que ahora ya no me sale nada, ¡¡ ni en el archivo LOG :| !!

¡¡ Pero sigue sin hacerlo !!
piero66
Perlero nuevo
Perlero nuevo
 
Mensajes: 95
Registrado: 2008-05-22 12:00 @541

Re: Suma de fechas

Notapor explorer » 2013-11-13 14:18 @637

Intenta reducir el problema a la mínima expresión (mínimo número de líneas), y lo publicas aquí, y vemos dónde puede estar el error.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Suma de fechas

Notapor piero66 » 2013-11-13 14:29 @645

Actualmente lo tengo así. En mi archivo CGI tengo así:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. Date_Init("ConfigFile=/usr/lib64/perl5/vendor_perl/Eflow/date/misDiasFestivos.cfg","Language=English", "DateFormat=non-US","EraseHolidays=1");
  2.  
  3. ($useg,$dseg,$tseg,$cseg) = split /\./,$ENV{'REMOTE_ADDR'};
  4.  
  5.  
  6.     if ($tseg==47)
  7.     else
  8.         $dias++;
  9.    
  10.  
  11.     $fechaP = DateCalc("$dateIn", "+ $dias business days ");
  12.  
  13.    print $fechaP;
Coloreado en 0.004 segundos, usando GeSHi 1.0.8.4



Archivo misDiasFestivos.cfg lo tengo así:

Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
*Holidays

nov 18 = revolucion
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4



Según yo me debería mandar al día 19 de noviembre.

¡¡ y me manda al 18 de noviembre !!
piero66
Perlero nuevo
Perlero nuevo
 
Mensajes: 95
Registrado: 2008-05-22 12:00 @541

Re: Suma de fechas

Notapor explorer » 2013-11-13 18:28 @811

El problema es la presencia del atributo 'EraseHolidays'. Da igual que le pongas 0 o 1: lo que hace es NO tener en cuenta las fiestas indicadas.

El siguiente ejemplo me funciona
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. #!/usr/bin/perl
  2. use strict;
  3. use warnings;
  4. use diagnostics;
  5.  
  6. use Date::Manip;
  7.  
  8. Date_Init(
  9.     "ConfigFile=fiestas.txt",
  10.     "Language=English",
  11.     "DateFormat=non-US",
  12. #    "EraseHolidays=1",
  13. );
  14.  
  15. for ( 1 .. 22 ) {
  16.     my $diferencia_en_dias  = DateCalc(ParseDate("1/11/2013"), "+$_ business days", 3);
  17.     my $fecha = UnixDate($diferencia_en_dias,"%d/%m/%Y");
  18.     print "+$_ : $fecha\n";
  19. }
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
sale
Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
+1 : 04/11/2013
+2 : 05/11/2013
+3 : 06/11/2013
+4 : 07/11/2013
+5 : 08/11/2013
+6 : 11/11/2013
+7 : 12/11/2013
+8 : 13/11/2013
+9 : 14/11/2013
+10 : 15/11/2013
+11 : 19/11/2013
+12 : 20/11/2013
+13 : 21/11/2013
+14 : 22/11/2013
+15 : 25/11/2013
+16 : 26/11/2013
+17 : 27/11/2013
+18 : 28/11/2013
+19 : 29/11/2013
+20 : 02/12/2013
+21 : 03/12/2013
+22 : 04/12/2013
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4
con el siguiente archivo de fiestas:
Sintáxis: (fiestas.txt) [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
*Holidays

3rd Monday in nov = Revolución de México
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4

También se puede indicar así:
Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
18/11  = Revolución de México
18 nov = Revolución de México
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4

Finalmente, también se puede hacer el programa en español:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. !/usr/bin/perl
  2. use strict;
  3. use warnings;
  4. use diagnostics;
  5.  
  6. use Date::Manip;  
  7.  
  8. Date_Init(
  9.     "ConfigFile=fiestas.txt",
  10.     "Language=Spanish",
  11.     "DateFormat=non-US",
  12. #    "EraseHolidays=1",
  13. );
  14.  
  15. for ( 1 .. 22 ) {
  16.     my $diferencia_en_dias  = DateCalc(ParseDate("1/11/2013"), "+$_ dias laborales", 3);
  17.     my $fecha = UnixDate($diferencia_en_dias,"%d/%m/%Y");
  18.     print "+$_ : $fecha\n";
  19. }
  20.  
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
Lo que no se puede poner es la fecha de la fiesta en español, pero bueno, se puede poner como "18/11 ...", y ya está.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

AnteriorSiguiente

Volver a Intermedio

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 4 invitados