Foros del Web » Programando para Internet » PHP »

convertir string a date

Estas en el tema de convertir string a date en el foro de PHP en Foros del Web. buen dia gentita, por favor si alguien pudiera ayudarme en este código quiero sumarle un numero determinado de días a una fecha, recibo una fecha ...
  #1 (permalink)  
Antiguo 22/10/2015, 07:15
 
Fecha de Ingreso: diciembre-2007
Mensajes: 19
Antigüedad: 16 años, 4 meses
Puntos: 1
convertir string a date

buen dia gentita,

por favor si alguien pudiera ayudarme en este código quiero sumarle un numero determinado de días a una fecha, recibo una fecha en formato (22-10-2015) el cual esta almacenado en la variable $fechainicio y en la primera parte del código lo cambio al formato año mes dia.


Código PHP:
Ver original
  1. //cambiar formato fecha
  2.     echo $fechainicio;
  3.     $date = new DateTime($fechainicio);
  4.     $date->format('20y-m-d'); // convierte la fecha en formato y-m-d osea 2015-10-22
  5.     $fecha_inicio = strtotime("$date"); //convierto la fecha $date tipo string a tipo date
  6.     //$date = strtotime("$date");
  7.  
  8.     echo $fecha_inicio;
  9.     $fechaprueba = "2015-12-17";
  10.     echo $fecha_final= date("Y-m-d", strtotime("$fechaprueba + 5 days"));


pero al momento de correr me devuelve el error
Catchable fatal error: Object of class DateTime could not be converted to string in D:\programarvacaciones_1.php on line 50

el error esta en convertir de string a date, lo hago por que al correr la suma de dias funciona con la fecha_inicio, pero si le envio una fecha directa como fechaprueba su funciona.

si alguien puede ayudarme se lo agradecería.
  #2 (permalink)  
Antiguo 22/10/2015, 07:48
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 10 meses
Puntos: 379
Respuesta: convertir string a date

No es necesario que conviertas la fecha nuevamente a string.
Código PHP:
Ver original
  1. date_default_timezone_set('America/Monterrey');
  2.  
  3.  
  4. try {
  5.  
  6.     $date = new DateTime('22-10-2015');
  7.     $date->modify('+5 day');
  8.     echo $date->format('Y-m-d');
  9.  
  10. } catch (Exception $e) {
  11.     echo $e->getMessage();
  12. }
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.

Etiquetas: date, fecha
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:24.