Digamos que tengo una cadena entrando, "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()
, y luego agregué 24*60*60
, luego usé date()
, pero me preguntaba si habría una manera más limpia, más simple o más inteligente de hacerlo.¿La forma más simple de incrementar una fecha en PHP?
Respuesta
una manera limpia es utilizar strtotime()
$date = strtotime("+1 day", strtotime("2007-02-28"));
echo date("Y-m-d", $date);
le dará el 2007-03-01
Es más limpio y más fácil de añadir 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 es realmente sólo vale la pena si remotamente que está haciendo, por ejemplo, una secuencia de transformaciones en la fecha, en lugar de simplemente encontrar el mañana.
Usted puede hacer la adición derecha dentro strtotime, por ejemplo,
$today="2007-02-28";
$nextday=strftime("%Y-%m-%d", strtotime("$today +1 day"));
Oh, limpio. No lo sabía Es casi como el viejo y bueno Date :: Manip. – chaos
Otra forma es utilizar la función mktime(). Es 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 es mejor strtotime()
en esa situación ...
bueno, no me di cuenta de que mktime() incrementaría el mes así cuando pases a –
La forma más sencilla ...
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')));
$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);
Hel Lo puede probar esto más adelante, especialmente si usted es francés
$date = date('l j F Y');
#increment the date
$date2 = date('l j F Y', strtotime("+7 day"));
a traducir en francés puede utilizar 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;
}
$your_date = strtotime("1month", strtotime(date("Y-m-d")));
$new_date = date("Y-m-d", $your_date++);
/("1 mes") = aumentará por mes. // ("1 día") = se incrementará por día. // (fecha ("Y-m-d")) = comienza a incrementar la fecha en su fecha actual. –
Debe editar su respuesta para incluir la explicación del código, en lugar de tener la explicación en un comentario. – astidham2003
- 1. ¿Cómo puedo incrementar una fecha?
- 2. ¿Cuál es la forma más simple de disminuir una fecha en Javascript en 1 día?
- 3. ¿La forma más rápida de compilar una aplicación Symbian simple?
- 4. forma más simple y más corta de contar letras mayúsculas en una cadena con php?
- 5. ¿Cómo incrementar una cadena alfanumérica en PHP?
- 6. ¿La forma más simple de realizar una llamada entre dominios?
- 7. La forma más rápida de incrementar un campo en la base de datos
- 8. Antlr: ¿La forma más simple de reconocer fechas y números?
- 9. ¿La forma más simple de sumar dos listas en Scala?
- 10. forma más sencilla de analizar una fecha en Javascript
- 11. PHP: Fecha más grande que la fecha actual
- 12. Forma más simple de anexar datos a una Columna SQL
- 13. PHP: ¿La forma más limpia de modificar una matriz multidimensional?
- 14. ¿Cuál es la forma más simple de usar SSH Python?
- 15. ¿Forma más eficiente de ejecutar la consulta de fecha/aaaa?
- 16. PHP ¿Convertir la fecha ISO a un formato más legible?
- 17. La forma más rápida de iterar array en PHP
- 18. ¿Cómo formatear la fecha más fácilmente en PHP?
- 19. ¿Cuál sería la forma más simple de demonizar una secuencia de comandos python en Linux?
- 20. ¿Cuál es la forma más sencilla de formatear una marca de tiempo de SQL en PHP?
- 21. La forma más rápida de reemplazar cadenas en PHP
- 22. ¿Cuál es la forma más simple de definir una variable local en Oracle?
- 23. Java: XML en una base de datos, ¿cuál es la forma más simple?
- 24. ¿La forma más simple de recorrer dos NSDates en el iPhone?
- 25. ¿Forma simple de contar las vocales en una cadena en PHP?
- 26. Reformatear una fecha en PHP
- 27. La forma más simple y rápida de separar todas las dependencias de una clase
- 28. ¿Cuál es la forma más simple de ejecutar una clase Java cada 30 segundos?
- 29. Cómo incrementar de forma segura un contador en Entity Framework
- 30. Fecha de construcción: una forma eficiente
estúpida CentOS solamente tiene PHP 5.1 y DateTime se introduce en 5.2. Supongo que finalmente tengo que actualizar a un paquete no oficial de centos php. – davr
Er, no. Solo agregar 86400 es falsa simplicidad. – staticsan
¿Podrías explicar a qué te refieres con eso? – chaos