una sumar restar now horas formato fechas fecha español dias comparar php datetime date strtotime date-manipulation

sumar - ¿La forma más simple de incrementar una fecha en PHP?



sumar dias a una fecha php (8)

Es más simple y más limpio agregar 86400. :)

La forma de alta tecnología es hacer:

$date = new DateTime($input_date); $date->modify(''+1 day''); echo $date->format(''Y-m-d'');

pero eso realmente solo vale remotamente si estás haciendo, digamos, una secuencia de transformaciones en la fecha, en lugar de simplemente encontrar el mañana.

Digamos que tengo una secuencia entrante, "2007-02-28" , ¿cuál es el código más simple que podría escribir para convertirlo en "2007-03-01" ? En este momento solo estoy usando strtotime() , luego strtotime() 24*60*60 , luego uso date() , pero me pregunto si hay una forma más limpia, más simple o más inteligente de hacerlo.


Hola, puedes probar esto a continuación, especialmente si eres francés

$date = date(''l j F Y''); #increment the date $date2 = date(''l j F Y'', strtotime("+7 day"));

para traducir en francés puede usar la función setlocale () o la función a continuación:

function fr_date($date){ $date = explode('' '', $date); $date = str_replace(''Monday'',''Lundi'',$date); $date = str_replace(''Tuesday'',''Mardi'',$date); $date = str_replace(''Wednesday'',''Mercredi'',$date); $date = str_replace(''Thursday'',''Jeudi'',$date); $date = str_replace(''Friday'',''Vendredi'',$date); $date = str_replace(''Saturday'',''Samedi'',$date); $date = str_replace(''Sunday'',''Dimanche'',$date); $date = str_replace(''January'',''Janvier'',$date); $date = str_replace(''February'',''Février'',$date); $date = str_replace(''March'',''Mars'',$date); $date = str_replace(''April'',''Avril'',$date); $date = str_replace(''May'',''Mai'',$date); $date = str_replace(''June'',''Juin'',$date); $date = str_replace(''July'',''Juillet'',$date); $date = str_replace(''August'',''Août'',$date); $date = str_replace(''September'',''Septembre'',$date); $date = str_replace(''October'',''Octobre'',$date); $date = str_replace(''November'',''Novembre'',$date); $date = str_replace(''December'',''Décembre'',$date); $date = implode('' '',$date); return $date; }


La forma más simple ...

echo date(''Y-m-d'',strtotime("+1 day")); //from today

O desde la fecha especificada ...

echo date(''Y-m-d'',strtotime("+1 day", strtotime(''2007-02-28'')));


Otra forma es usar la función mktime (). Es una función muy útil ...

$date = "2007-02-28"; list($y,$m,$d)=explode(''-'',$date); $date2 = Date("Y-m-d", mktime(0,0,0,$m,$d+1,$y));

pero creo que strtotime() es mejor en esa situación ...


Puedes hacer la adición justo dentro de strtotime, por ej.

$today="2007-02-28"; $nextday=strftime("%Y-%m-%d", strtotime("$today +1 day"));


Una forma limpia es usar strtotime()

$date = strtotime("+1 day", strtotime("2007-02-28")); echo date("Y-m-d", $date);

Te dará el 2007-03-01


$early_start_date = date2sql($_POST[''early_leave_date'']); $date = new DateTime($early_start_date); $date->modify(''+1 day''); $date_a = new DateTime($early_start_date . '' '' . $_POST[''start_hr''] . '':'' . $_POST[''start_mm'']); $date_b = new DateTime($date->format(''Y-m-d'') . '' '' . $_POST[''end_hr''] . '':'' . $_POST[''end_mm'']); $interval = date_diff($date_a, $date_b);


$your_date = strtotime("1month", strtotime(date("Y-m-d"))); $new_date = date("Y-m-d", $your_date++);