PHP - Incrementar tres dias a una fecha

   
Vista:

Incrementar tres dias a una fecha

Publicado por Ana (12 intervenciones) el 24/04/2015 22:49:28
Buenas...
Hola es que necesito que me ingrese una fecha y a esta se le incrmente 3 dias mas ¡SOLO DIAS!
El Codigo no me sale
1
2
3
4
5
6
7
8
9
10
<?php
// Los delimitadores pueden ser barra, punto o guión
$fecha = "2015-04-13";
list($año, $mes, $dia) = split('[/.-]', $fecha);
echo "dia: $dia; mes: $mes; Año: $año<br />\n";
 
for ($dia = $dia; $dia <$dia; $dia++) {
    echo $dia;
}
?>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alberto

Incrementar tres dias a una fecha

Publicado por Alberto (222 intervenciones) el 25/04/2015 00:27:47
Hola...

La función que estas usando para la separación de caracteres es incorrecta, debido a que explode() separa los valores de acuerdo a un carácter que tiene nuestra cadena, mas no puede separarlos mediante una expresión regular, en pocas palabras, la función se encuentra limitada únicamente a un carácter, sin embargo, existe una función dentro de PHP que nos permite separar las cadenas de acuerdo a una expresión regular, preg_split().

Por lo tanto tu código quedaría de la siguiente manera...

1
2
3
4
5
$fecha = "2015-04-30";
$cadena = preg_split("@[-\./]@", $fecha);
$dia = $cadena[2];
$dia = $dia + 3;
echo $dia;

Como puedes ver estoy sumando los tres días que tu necesitas, no obstante, tienes que hacer las validaciones correspondientes si el día es 30 o 31 o bien si es 28 en el caso del mes de febrero, sin olvidar cuando es bisiesto el año.

Como podrás observar podemos decir que es la manera dura de hacerlo ya que tu realizas el procedimiento manual, pero tambien podemos hacerlo a través de funciones especiales que el mismo PHP nos proporciono para sumar las fechas, aunque cabe mencionar que el unico inconveniente sería que por defecto, ninguna fecha tiene como separador un punto, fuera de ello funciona perfecto con / y -.

http://php.net/manual/es/datetime.add.php

Sin mas que comentar, cualquier duda y/o inconveniente, aquí estamos. Suerte!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Incrementar tres dias a una fecha

Publicado por Leopoldo Taylhardat (46 intervenciones) el 25/04/2015 19:52:02
Saludos...

PHP date_add() Function

PHP Date/Time PHP Date/Time Reference
Example

Add 40 days to the 15th of March, 2013:
1
2
3
4
5
<?php
$date=date_create("2013-03-15");
date_add($date,date_interval_create_from_date_string("40 days"));
echo date_format($date,"Y-m-d");
?>

Run example »
Definition and Usage

The date_add() function adds some days, months, years, hours, minutes, and seconds to a date.
Syntax
date_add(object,interval);

Parameter Description
object Required. Specifies a DateTime object returned by date_create()
interval Required. Specifies a DateInterval object
Technical Details
Return Value: Returns a DateTime object on success. FALSE on failure
PHP Version: 5.3+
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

Incrementar tres dias a una fecha

Publicado por xve (5525 intervenciones) el 28/04/2015 16:17:01
La manera correcta, creo que seria algo así:

1
2
3
$fecha = "2015-04-30";
$nuevaFecha=date("Y-m-d", strtotime($fecha)+strtotime("+3 day")-time());
echo $nuevaFecha;

Esto te devolvera la fecha: 2015-05-03
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar