PHP: Sumar fechas
Incrementar o disminuir una fecha, usando PHP
Lenguaje: PHP (compilador: PHP 5)
Categoría: Fecha y hora
// Fuente procedente de ErrorDeSintaxis.es
// Incrementar o disminuir una fecha, usando
// PHP
// Compilador: PHP 5
// Nivel: Básico
// Disponible desde 27/07/2011
// Aportado por Nacho
// Autor original: Nacho Cabanes
// Web original: http://www.aprendeaprogramar.com/mod/resource/view.php?id=468
<html> <body> <?php $fecha = date("d-m-y"); /* Dia, mes y año con dos cifras */ echo "La fecha de hoy es: " . $fecha . "<br />"; function sumarFecha($fechaInicial,$dias=0,$meses=0,$anyos=0, $horas=0,$minutos=0,$segundos=0) { $fecha = strtotime($fechaInicial); $nuevaFecha = date('d-m-Y H:i:s', mktime( date('H',$fecha)+$horas, date('i',$fecha)+$minutos, date('s',$fecha)+$segundos, // Horas, minutos y segundos date('m',$fecha)+$meses, date('d',$fecha)+$dias, date('Y',$fecha)+$anyos)); // Dias, meses y años (modificados) return $nuevaFecha; } $fechaAmericana = date('Y-m-d H:i:s'); echo "La fecha de hoy en formato americano es: " . $fechaAmericana . "<br />"; echo "Dos días más: " . sumarFecha($fechaAmericana,2) . "<br />"; echo "Tres meses más: " . sumarFecha($fechaAmericana,0,3) . "<br />"; echo "Cuatro años más: " . sumarFecha($fechaAmericana,0,0,4) . "<br />"; echo "Cinco horas más: " . sumarFecha($fechaAmericana,0,0,0,5) . "<br />"; echo "Seis minutos más: " . sumarFecha($fechaAmericana,0,0,0,0,6) . "<br />"; echo "Siete segundos más: " . sumarFecha($fechaAmericana,0,0,0,0,0,7) . "<br />"; echo "Doscientos segundos menos: " . sumarFecha($fechaAmericana,0,0,0,0,0,-200) . "<br />"; echo "Ahora con now: " . date('d-m-Y h:i:s', strtotime("now")), "<br />"; echo "Fecha detallada: " . date('d-m-Y h:i:s', strtotime("10 September 2000")), "<br />"; echo "Mañana: " . date('d-m-Y h:i:s', strtotime("+1 day")), "<br />"; echo "Semana próxima: " . date('d-m-Y h:i:s', strtotime("+1 week")), "<br />"; echo "Varios incrementos: " . date('d-m-Y h:i:s', strtotime("+1 week 2 days 4 hours 2 seconds")), "<br />"; ?> </body> </html>