diff options
author | Ramón M. Gómez <ramongomez@us.es> | 2020-07-01 12:18:03 +0200 |
---|---|---|
committer | Ramón M. Gómez <ramongomez@us.es> | 2020-07-01 12:18:03 +0200 |
commit | 5249c5dfa0f478b2372ca19274c192cdf0dc3ced (patch) | |
tree | 0905dacfd4ad804130877c3f995746d11af6b6b9 | |
parent | 85eceaf519939c38f5fca1389597a75d7c08a76b (diff) |
#804: Fix bug when getting day of week number.
Removing function `_DiaSemana` from class `Almanaque` and use regular PHP functions.
3 files changed, 6 insertions, 87 deletions
diff --git a/admin/WebConsole/idiomas/php/cat/clases/Almanaque_cat.php b/admin/WebConsole/idiomas/php/cat/clases/Almanaque_cat.php index e92f745c..ae32b33b 100644 --- a/admin/WebConsole/idiomas/php/cat/clases/Almanaque_cat.php +++ b/admin/WebConsole/idiomas/php/cat/clases/Almanaque_cat.php @@ -147,33 +147,6 @@ class Almanaque{ } /* ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ - Esta función devuelve el número del día de la semana: - 0=domingo 1=Lunes, 2=mártes ... 6=sábado - - Parámetro de entrada: - Una cadena con formato de fecha dd/mm/aaaa. - ________________________________________________________________________________________________________*/ - function _DiaSemana($fecha){ - list($dia,$mes,$anno)=explode('[/.-]',$fecha); - $cont=0; - for ($i=1900;$i<$anno;$i++){ - if ($this->bisiesto($i)) $dias_anuales=366; else $dias_anuales=365; - $cont+=$dias_anuales; - } - for ($i=1;$i<$mes;$i++){ - if ($i!=2) - $cont+=$this->dias_meses[$i]; - else{ - if ($this->bisiesto($anno)) - $cont+=29; - else - $cont+=28; - } - } - $cont+=$dia+$this->desplazamiento_dias; - return($cont%7); - } - /* ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Esta función devuelve true si el año pasado como parámetro es bisiesto y false si no lo es Parámetro de entrada: @@ -204,8 +177,8 @@ class Almanaque{ ________________________________________________________________________________________________________*/ function MesAnno($mes,$anno){ - $fecha="1/".$mes."/".$anno; - $ds=$this->_DiaSemana($fecha); + $fecha="$anno-$mes-1"; + $ds=date("N", strtotime($fecha)); if ($ds==0) $ds=7; $swbi=0; // Suma para bisiesto diff --git a/admin/WebConsole/idiomas/php/eng/clases/Almanaque_eng.php b/admin/WebConsole/idiomas/php/eng/clases/Almanaque_eng.php index 07ffa9e7..287a88a9 100644 --- a/admin/WebConsole/idiomas/php/eng/clases/Almanaque_eng.php +++ b/admin/WebConsole/idiomas/php/eng/clases/Almanaque_eng.php @@ -178,33 +178,6 @@ class Almanaque{ } - /*------------------------------------------------------------------------------------------- - This function returns day of the week number: - 0=sunday 1=monday, 2=tuesday ... 6=saturday - - Input parameter: - A string with date format dd/mm/yyyy. - ----------------------------------------------------------------------------------------------*/ - function _DiaSemana($fecha){ - list($dia,$mes,$anno)=explode('[/.-]',$fecha); - $cont=0; - for ($i=1900;$i<$anno;$i++){ - if ($this->bisiesto($i)) $dias_anuales=366; else $dias_anuales=365; - $cont+=$dias_anuales; - } - for ($i=1;$i<$mes;$i++){ - if ($i!=2) - $cont+=$this->dias_meses[$i]; - else{ - if ($this->bisiesto($anno)) - $cont+=29; - else - $cont+=28; - } - } - $cont+=$dia+$this->desplazamiento_dias; - return($cont%7); - } /* ------------------------------------------------------------------------------------------- These function returns true if last year was a leap-year or false if it was not @@ -232,8 +205,8 @@ class Almanaque{ and they are class properties. ----------------------------------------------------------------------------------------------*/ function MesAnno($mes,$anno){ - $fecha="1/".$mes."/".$anno; - $ds=$this->_DiaSemana($fecha); + $fecha="$anno-$mes-1"; + $ds=date("N", strtotime($fecha)); if ($ds==0) $ds=7; $swbi=0; // Suma para bisiesto diff --git a/admin/WebConsole/idiomas/php/esp/clases/Almanaque_esp.php b/admin/WebConsole/idiomas/php/esp/clases/Almanaque_esp.php index 78903ea0..73bf2aff 100644 --- a/admin/WebConsole/idiomas/php/esp/clases/Almanaque_esp.php +++ b/admin/WebConsole/idiomas/php/esp/clases/Almanaque_esp.php @@ -147,33 +147,6 @@ class Almanaque{ } /* ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ - Esta función devuelve el número del día de la semana: - 0=domingo 1=Lunes, 2=mártes ... 6=sábado - - Parámetro de entrada: - Una cadena con formato de fecha dd/mm/aaaa. - ________________________________________________________________________________________________________*/ - function _DiaSemana($fecha){ - list($dia,$mes,$anno)=explode('[/.-]',$fecha); - $cont=0; - for ($i=1900;$i<$anno;$i++){ - if ($this->bisiesto($i)) $dias_anuales=366; else $dias_anuales=365; - $cont+=$dias_anuales; - } - for ($i=1;$i<$mes;$i++){ - if ($i!=2) - $cont+=$this->dias_meses[$i]; - else{ - if ($this->bisiesto($anno)) - $cont+=29; - else - $cont+=28; - } - } - $cont+=$dia+$this->desplazamiento_dias; - return($cont%7); - } - /* ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Esta función devuelve true si el año pasado como parámetro es bisiesto y false si no lo es Parámetro de entrada: @@ -204,8 +177,8 @@ class Almanaque{ ________________________________________________________________________________________________________*/ function MesAnno($mes,$anno){ - $fecha="1/".$mes."/".$anno; - $ds=$this->_DiaSemana($fecha); + $fecha="$anno-$mes-1"; + $ds=date("N", strtotime($fecha)); if ($ds==0) $ds=7; $swbi=0; // Suma para bisiesto |