Foros del Web » Programando para Internet » PHP »

bug o error de php

Estas en el tema de bug o error de php en el foro de PHP en Foros del Web. Podrian decirme poorque falla a qui Código PHP:      echo  date  ( 'm' ,  strtotime ( '-1 month 2011-05-31' ));  quiero obtener el mes pasado y php ...
  #1 (permalink)  
Antiguo 31/05/2011, 08:53
Avatar de LuZBinG  
Fecha de Ingreso: enero-2008
Mensajes: 407
Antigüedad: 14 años
Puntos: 5
bug o error de php

Podrian decirme poorque falla a qui

Código PHP:
    echo date ('m'strtotime('-1 month 2011-05-31')); 
quiero obtener el mes pasado y php me arroja 05 cuando debe de ser 04, la falla es cuando es dia 31

o que les muestra a ustedes?
__________________
LuZbIng
  #2 (permalink)  
Antiguo 31/05/2011, 08:56
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 12 años, 7 meses
Puntos: 1517
Respuesta: bug o error de php

Es porque busca el día 31 del mes anterior y como no tiene por lo tanto le indica el siguiente que es el primero del siguiente mes, lo mejor sería que indicaras los meses solamente, algo como
Código PHP:
Ver original
  1. <?php
  2. echo date ('m', strtotime('-1 month 2011-05'));
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 31/05/2011, 09:00
Avatar de LuZBinG  
Fecha de Ingreso: enero-2008
Mensajes: 407
Antigüedad: 14 años
Puntos: 5
Respuesta: bug o error de php

en julio 31 tambien falla XD

lo que me importa es el mes pasado, pero este error me costo un desastre en registros de la BD

solucion por mientras es tomar cualquier dia menos 31 de cada mes que tenga

$fecha=date("Y-m-25");
$mes_pasado = date('m', strtotime('-1 month '.$fecha.''));
__________________
LuZbIng
  #4 (permalink)  
Antiguo 31/05/2011, 09:02
Avatar de LuZBinG  
Fecha de Ingreso: enero-2008
Mensajes: 407
Antigüedad: 14 años
Puntos: 5
Respuesta: bug o error de php

Cita:
Es porque busca el día 31 del mes anterior y como no tiene
entonces se basa en los dias

gracias voy a probar
__________________
LuZbIng
  #5 (permalink)  
Antiguo 31/05/2011, 09:05
Avatar de LuZBinG  
Fecha de Ingreso: enero-2008
Mensajes: 407
Antigüedad: 14 años
Puntos: 5
Respuesta: bug o error de php

no funciona a si tampoco abimaelrc

echo date ('m', strtotime('-1 month 2011-05'));
retorna 05 caundo debe de ser 04
__________________
LuZbIng
  #6 (permalink)  
Antiguo 31/05/2011, 09:07
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 12 años, 7 meses
Puntos: 1517
Respuesta: bug o error de php

Un ejemplo que funciona con el 31 es agosto
Código PHP:
Ver original
  1. <?php
  2. echo date ('m', strtotime('-1 month 2011-08-31'));
Como julio y agosto tienen 31, ahí sí funciona.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #7 (permalink)  
Antiguo 31/05/2011, 09:07
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 12 años, 7 meses
Puntos: 1517
Respuesta: bug o error de php

Cita:
Iniciado por LuZBinG Ver Mensaje
no funciona a si tampoco abimaelrc

echo date ('m', strtotime('-1 month 2011-05'));
retorna 05 caundo debe de ser 04
a mí me retorna 04

Borra el cache y trata nuevamente.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #8 (permalink)  
Antiguo 31/05/2011, 09:09
Avatar de LuZBinG  
Fecha de Ingreso: enero-2008
Mensajes: 407
Antigüedad: 14 años
Puntos: 5
Respuesta: bug o error de php

otra persona podria mostrarnos cunto le retorna esto echo date ('m', strtotime('-1 month 2011-05'));
??



mi ver. php es 5.2.3
__________________
LuZbIng
  #9 (permalink)  
Antiguo 31/05/2011, 09:24
Avatar de quike88  
Fecha de Ingreso: agosto-2008
Mensajes: 471
Antigüedad: 13 años, 5 meses
Puntos: 87
Respuesta: bug o error de php

en la versión 5.2.6 me retorna 05, pero en la 5.3.6 retorna 04.

Un saludo
  #10 (permalink)  
Antiguo 31/05/2011, 09:26
Avatar de rikardoz  
Fecha de Ingreso: abril-2011
Ubicación: En mi casa
Mensajes: 165
Antigüedad: 10 años, 9 meses
Puntos: 46
Sonrisa Respuesta: bug o error de php

Cita:
Iniciado por LuZBinG Ver Mensaje
otra persona podria mostrarnos cunto le retorna esto echo date ('m', strtotime('-1 month 2011-05'));
??



mi ver. php es 5.2.3
a mi tambien me retorna 5 xD
pero para que me retorne 4 uso esto:
Código PHP:
<?
echo date('m'strtotime('-1 m 2011-05-01'));
echo 
"<br>";
echo 
date('m'strtotime('2011-05-31'))-1;
?>
__________________
Agregadecer no cuesta nada O SI?
  #11 (permalink)  
Antiguo 31/05/2011, 09:29
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 12 años, 7 meses
Puntos: 1517
Respuesta: bug o error de php

Iba a sugerir usar el primer día
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #12 (permalink)  
Antiguo 31/05/2011, 09:31
Avatar de LuZBinG  
Fecha de Ingreso: enero-2008
Mensajes: 407
Antigüedad: 14 años
Puntos: 5
Respuesta: bug o error de php

baya gracias por su ayuda entonces es problema de la version php
bueno lo que me importa es el mes pasado entonces siempre tendre que obtener cualquier dia menos el dia 31 de cada mes que tenga

$fecha=date("Y-m-25");
$mes_pasado = date('m', strtotime('-1 month '.$fecha.''));

salu2
__________________
LuZbIng
  #13 (permalink)  
Antiguo 31/05/2011, 09:38
Avatar de rikardoz  
Fecha de Ingreso: abril-2011
Ubicación: En mi casa
Mensajes: 165
Antigüedad: 10 años, 9 meses
Puntos: 46
Respuesta: bug o error de php

Pero como dice abimael es preferiable restarle al mes con la fecha del dia 1
pero si intentas sacarle el mes anterior a la fecha actual porque no usas:
Código PHP:
<?
echo date('m')-1;
?>
y asi no te haces complicaciones :D
__________________
Agregadecer no cuesta nada O SI?
  #14 (permalink)  
Antiguo 31/05/2011, 09:41
Avatar de LuZBinG  
Fecha de Ingreso: enero-2008
Mensajes: 407
Antigüedad: 14 años
Puntos: 5
Respuesta: bug o error de php

excelente gracias

Cita:
echo date('m')-1;
salu2
__________________
LuZbIng
  #15 (permalink)  
Antiguo 31/05/2011, 09:43
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 12 años, 7 meses
Puntos: 1517
Respuesta: bug o error de php

Recomiendo la actualización de PHP, ya que no hay más actualizaciones para las versiones 5.2.x. Aunque muchos hosting usan todavía las versiones 5.2.x, lo mejor es usar las versiones más actualizadas.

Edito: Ese método es malo, cuando estás verificando por ejemplo el mes de enero y quieres diciembre
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #16 (permalink)  
Antiguo 31/05/2011, 09:49
Avatar de LuZBinG  
Fecha de Ingreso: enero-2008
Mensajes: 407
Antigüedad: 14 años
Puntos: 5
Respuesta: bug o error de php

correcto siempre son mejores las actualizaciones
PHP versión 5.2.6.........falla XD
PHP versión 5.2.3........falla XD
PHP versión 5.2.4........falla XD


salu2
__________________
LuZbIng

Etiquetas: bug
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 08:11.