Ver Mensaje Individual
  #3 (permalink)  
Antiguo 20/12/2013, 05:34
nksn
 
Fecha de Ingreso: mayo-2009
Ubicación: Japon
Mensajes: 60
Antigüedad: 17 años, 4 meses
Puntos: 12
Respuesta: duda con date strtotime y variable

resta el mes antes de pasar por strtotime

según php es [YYYY-MM-DD], si lo que necesitas es el primer dia del mes es facil


Código PHP:

diffDate
('2013', '01', '0', '1'); // siguiente mes
diffDate('2013', '01', '0', '-1'); // mes anterior

function diffDate($baseYear, $baseMonth, $diffYear, $diffMonth)
{
    
// convertir las variables a numeros
    
$baseMonth    = (int)$baseMonth;
    
$baseYear    = (int)$baseYear;
    
$diffMonth    = (int)$diffMonth;
    
$diffYear    = (int)$diffYear;
    
     
// cambiamos el formato de los meses de 0 a 11
    
$baseMonth--;
    
    
// obtenemos obtenemos la diferencia de mes
    
$tmpMonth = $baseMonth + $diffMonth;
    
    
// obtenemos la diferencia de año
    
$tmpYear = floor($tmpMonth / 12);

    
// sumamos la diferencia de año en mese con la diferencia de mes
    
$tmpMonth = $tmpMonth + abs($tmpYear) * 12;
    
    
// obtenemos el nuevo año
    
$tmpYear = $baseYear + $diffYear + $tmpYear;
    
    
// obtenemos el nuevo mes
    
$tmpMonth = $tmpMonth % 12;
    
    
    
// volvemos el formato de los meses en ( 1 a 12 )
    
$tmpMonth++;
    
    
    
// cambiamos el formato para que strtotime lo comprenda
    
if($tmpMonth < 10)
    {
        
$tmpMonth = '0'.$tmpMonth;
    }
    
    return 
strtotime($tmpYear.'-'.$tmpMonth.'-01');
} 
espero que te sirva