Foros del Web » Programando para Internet » PHP »

Error en calculo de fecha mktime() expects parameter 6 to be long

Estas en el tema de Error en calculo de fecha mktime() expects parameter 6 to be long en el foro de PHP en Foros del Web. Hola amigos tengo un pequeño inconveniente con el calculo de unas fechas, a ver si me pueden ayudar ya que no veo el error. El ...
  #1 (permalink)  
Antiguo 17/05/2014, 05:15
 
Fecha de Ingreso: marzo-2007
Mensajes: 59
Antigüedad: 17 años, 1 mes
Puntos: 1
Error en calculo de fecha mktime() expects parameter 6 to be long

Hola amigos tengo un pequeño inconveniente con el calculo de unas fechas, a ver si me pueden ayudar ya que no veo el error. El error es mktime() expects parameter 6 to be long y me aparece en la linea que está Documentada al comienzo del While, incluso luego despues de tiempo tengo ahora un loop infinito en la página con ese error. Gracias por anticipado.

Código PHP:
Ver original
  1. function calc_mes_ad($sal,$reg) {
  2.             $arrsal = explode("/", $sal);
  3.             $arrreg = explode("/", $reg);
  4.             $salphp=mktime(0, 0, 0, $arrsal[1], $arrsal[0], $arrsal[2], 0);
  5.             $regphp=mktime(0, 0, 0, $arrreg[1], $arrreg[0], $arrreg[2], 0);
  6.  
  7. $regphp_aux=mktime(0, 0, 0, $arrsal[1], $arrsal[0], $arrsal[2], 0);
  8.             $i=1;
  9.             while($regphp > $regphp_aux ) {
  10.                $regphp_aux=mktime(0, 0, 0, $arrsal[1]+$i, $arrsal[0]-1, $arrsal[2], 0); // <---  Aca es donde aparece el error
  11.                $i=$i+1;
  12.             }
  13.             $t=$i-1;
  14.             $regphp_aux2=mktime(0, 0, 0, $arrsal[1]+($t-1), $arrsal[0]-1, $arrsal[2], 0);
  15.             $inter2 = $regphp-$regphp_aux2;
  16.             $dias_aux2 = number_format($inter2/86400,0);
  17.  
  18.             if ($dias_aux2==0) {
  19.                     return $t."|0";
  20.  
  21.             }
  22.             else {
  23.                     if ($dias_aux2>21) {
  24.                             return $t."|0";
  25.                     }
  26.                     else {
  27.                             $semanas=1;
  28.                             $regphp_aux3=$regphp_aux2;
  29.                             while ($regphp > $regphp_aux3) {
  30.                                     $reg3=date("d/m/Y", $regphp_aux3);
  31.                                     $arrreg3 = explode("/", $reg3);
  32.                                     $regphp_aux3=mktime(0, 0, 0, $arrreg3[1], $arrreg3[0]+(7), $arrreg3[2], 0);
  33.                                     $semanas=$semanas+1;
  34.                             }
  35.  
  36.                             return ($t-1)."|".($semanas-1);
  37.  
  38.  
  39.                     }
  40.             }
  41.  
  42.     }
  #2 (permalink)  
Antiguo 17/05/2014, 05:26
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años, 1 mes
Puntos: 292
Respuesta: Error en calculo de fecha mktime() expects parameter 6 to be long

Hola, la solucion obvia es con casting a entero, ejemplo:

Código PHP:
Ver original
  1. $salphp=mktime(0, 0, 0, $arrsal[1], $arrsal[0],  (int) $arrsal[2], 0);


Creeria podria ser que $arrsal[2] fuese NULL
__________________
Salu2!

Etiquetas: calculo, expects, fecha, long, mktime, parameter
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:35.