Foros del Web » Programando para Internet » PHP »

imprimir la fecha pero restandole 1 mes

Estas en el tema de imprimir la fecha pero restandole 1 mes en el foro de PHP en Foros del Web. tengo este codigo para phpExcel, la consulta es como puedo imprimir la fecha actual pero restandole un mes. ej si estamos actualmente en marzo que ...
  #1 (permalink)  
Antiguo 31/03/2014, 09:53
 
Fecha de Ingreso: enero-2014
Mensajes: 111
Antigüedad: 10 años, 3 meses
Puntos: 1
imprimir la fecha pero restandole 1 mes

tengo este codigo para phpExcel, la consulta es como puedo imprimir la fecha actual pero restandole un mes. ej si estamos actualmente en marzo que imprima febrero.

Código PHP:
Ver original
  1. $fechaaa = date("m-Y");
  2.     $objPHPExcel3->setCellValue("d1","$fechaaa");


Saludos y gracias!!!!
  #2 (permalink)  
Antiguo 31/03/2014, 10:12
Avatar de rigo_5834  
Fecha de Ingreso: julio-2009
Mensajes: 99
Antigüedad: 14 años, 9 meses
Puntos: 8
Respuesta: imprimir la fecha pero restandole 1 mes

prueba con esto.

$fechaaa = date("m-Y");
$mes=(substr($fechaaa, 0,2)-1);
if($mes<=9){$mes="0".$mes;}
$anno=substr($fechaaa,-4);

$fecha_final=$mes."-".$anno;
$objPHPExcel3->setCellValue("d1","$fecha_final");

saludos
  #3 (permalink)  
Antiguo 31/03/2014, 10:23
 
Fecha de Ingreso: enero-2014
Mensajes: 111
Antigüedad: 10 años, 3 meses
Puntos: 1
Respuesta: imprimir la fecha pero restandole 1 mes

Vale men muchas gracias, perfectamente como lo queria Saludos
  #4 (permalink)  
Antiguo 31/03/2014, 10:48
Avatar de jheckson  
Fecha de Ingreso: febrero-2011
Ubicación: $VE->Aragua['Maracay']
Mensajes: 109
Antigüedad: 13 años, 2 meses
Puntos: 8
Respuesta: imprimir la fecha pero restandole 1 mes

La respuesta de rigo_5834 es funcional pero no te serviria si el mes es igual a 1.

mejor has esto:

date('m-Y', mktime(0,0,0, date('m') - 1, 1, date('Y')))

esta fecha si valida cualquier caso, siempre te dara el mes anterior correcto! =)
__________________
Ayudar a otros, es una de las mejores formas de aprender y ayudarse a si mismo! =)

>[Jheck]<
  #5 (permalink)  
Antiguo 31/03/2014, 10:54
Avatar de rigo_5834  
Fecha de Ingreso: julio-2009
Mensajes: 99
Antigüedad: 14 años, 9 meses
Puntos: 8
Respuesta: imprimir la fecha pero restandole 1 mes

Cita:
Iniciado por jheckson Ver Mensaje
La respuesta de rigo_5834 es funcional pero no te serviria si el mes es igual a 1.

mejor has esto:

date('m-Y', mktime(0,0,0, date('m') - 1, 1, date('Y')))

esta fecha si valida cualquier caso, siempre te dara el mes anterior correcto! =)
esta genial la idea pero debe existir un problema en la sintaxis, porque no muestra nada.

saludos
  #6 (permalink)  
Antiguo 31/03/2014, 11:07
Avatar de jheckson  
Fecha de Ingreso: febrero-2011
Ubicación: $VE->Aragua['Maracay']
Mensajes: 109
Antigüedad: 13 años, 2 meses
Puntos: 8
Respuesta: imprimir la fecha pero restandole 1 mes

Umm creo saber que es... si mal no recuerdo hay que transformar el string que devuelve los date dentro de mktime a enteros para que funcionen! Pruebalo y me dices que tal te va! =)

$cantidadMesesRestar = 1;
echo date('m-Y', mktime(0,0,0, ((int)date('m') - $cantidadMesesRestar), 1, (int)date('Y')));
__________________
Ayudar a otros, es una de las mejores formas de aprender y ayudarse a si mismo! =)

>[Jheck]<
  #7 (permalink)  
Antiguo 31/03/2014, 11:53
Avatar de rigo_5834  
Fecha de Ingreso: julio-2009
Mensajes: 99
Antigüedad: 14 años, 9 meses
Puntos: 8
Respuesta: imprimir la fecha pero restandole 1 mes

Cita:
Iniciado por jheckson Ver Mensaje
Umm creo saber que es... si mal no recuerdo hay que transformar el string que devuelve los date dentro de mktime a enteros para que funcionen! Pruebalo y me dices que tal te va! =)

$cantidadMesesRestar = 1;
echo date('m-Y', mktime(0,0,0, ((int)date('m') - $cantidadMesesRestar), 1, (int)date('Y')));
no estimado, sigue sin mostrar nada .

saludos
  #8 (permalink)  
Antiguo 31/03/2014, 12:07
Avatar de jheckson  
Fecha de Ingreso: febrero-2011
Ubicación: $VE->Aragua['Maracay']
Mensajes: 109
Antigüedad: 13 años, 2 meses
Puntos: 8
Respuesta: imprimir la fecha pero restandole 1 mes

Que extraño, yo lo proveer varias veces y funcionaba! pero te da algun error u algo??? muestra tu código a ver si esta igual o que tiene.
__________________
Ayudar a otros, es una de las mejores formas de aprender y ayudarse a si mismo! =)

>[Jheck]<
  #9 (permalink)  
Antiguo 31/03/2014, 12:11
Avatar de rigo_5834  
Fecha de Ingreso: julio-2009
Mensajes: 99
Antigüedad: 14 años, 9 meses
Puntos: 8
Respuesta: imprimir la fecha pero restandole 1 mes

bueno si a ti te lo mostro, debe ser por algunas configuraciones del servidor de aca,

saludos
  #10 (permalink)  
Antiguo 31/03/2014, 13:36
Avatar de rigo_5834  
Fecha de Ingreso: julio-2009
Mensajes: 99
Antigüedad: 14 años, 9 meses
Puntos: 8
Respuesta: imprimir la fecha pero restandole 1 mes

Cita:
Iniciado por jheckson Ver Mensaje
Umm creo saber que es... si mal no recuerdo hay que transformar el string que devuelve los date dentro de mktime a enteros para que funcionen! Pruebalo y me dices que tal te va! =)

$cantidadMesesRestar = 1;
echo date('m-Y', mktime(0,0,0, ((int)date('m') - $cantidadMesesRestar), 1, (int)date('Y')));
Cita:
Iniciado por JorgeQuirino Ver Mensaje
Vale men muchas gracias, perfectamente como lo queria Saludos
de todas formas te dejo esta pequeña funcion, en donde no importa el mes ni año que sea no existira problemas.

Código PHP:
function mes_anterior($fecha)
{
  
$mes=(substr($fecha0,2)-1);$anno=substr($fecha,-4);
  if(
$mes<=9){$mes="0".$mes;}if($mes==00){$mes="12"$anno=($anno-1);}
  return 
$fecha_final=$mes."-".$anno;
}

echo 
mes_anterior(date("m-Y")); 
saludos
  #11 (permalink)  
Antiguo 01/04/2014, 02:32
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Respuesta: imprimir la fecha pero restandole 1 mes

Personalmente, me gusta usar strtotime:

Código PHP:
echo date("m-Y"strtotime("-1 month")); 
O bien, usar el objeto DateTime() ;)
__________________
>> Eleazan's Source
>> @Eleazan
  #12 (permalink)  
Antiguo 01/04/2014, 08:37
Avatar de rigo_5834  
Fecha de Ingreso: julio-2009
Mensajes: 99
Antigüedad: 14 años, 9 meses
Puntos: 8
Respuesta: imprimir la fecha pero restandole 1 mes

Cita:
Iniciado por Eleazan Ver Mensaje
Personalmente, me gusta usar strtotime:

Código PHP:
echo date("m-Y"strtotime("-1 month")); 
O bien, usar el objeto DateTime() ;)

Personalmente siempre es mas facil usar funciones predefinidas, aunque nunca esta demas pensar un poco para hacer una funcion propia.

saludos

Etiquetas: fecha
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 01:48.