Foros del Web » Programando para Internet » PHP »

(ayuda)Darle formato DateTime a un string

Estas en el tema de (ayuda)Darle formato DateTime a un string en el foro de PHP en Foros del Web. Hola gente, espero que me ayuden a encontrar una solucion a algo tan sencillo que se me ha vuelto complicado supongamos que tengo una variable ...
  #1 (permalink)  
Antiguo 28/01/2012, 21:43
 
Fecha de Ingreso: enero-2012
Mensajes: 2
Antigüedad: 12 años, 2 meses
Puntos: 0
Pregunta (ayuda)Darle formato DateTime a un string

Hola gente,

espero que me ayuden a encontrar una solucion a algo tan sencillo que se me ha vuelto complicado

supongamos que tengo una variable string llamada $fecha la cual tiene el valor: "15/11/2011 11:17:00". Donde 15 es el dia y 11 es el mes y lo demas se puede suponer que son.

yo quiero ingresar este valor a MySQL pero como MySQL solo puede ingresar datetime con el formato yyyy/mm//dd hh:mm:ss debo de cambiar el formato del string pero cuando trato de aplicar las funciones en php para cambiar el formato me da un error: Failed to parse time string (15/11/2011 11:17:00). Ya se cual es el error y es que php entiende que el 15 es el mes y el 11 el dia de los datos de la variable, lo cual es al reves en realidad.

logre solucionarlo con la funcion DateTime::createFromFormat() el cual cambiaba el formato de forma perfecta pero tengo la mala suerte que esa funcion solo funciona en (PHP 5 >= 5.3.0) y el servidor donde estoy subiendo mis archivos trabaja con php 5.2

asi que alguien me podria explicar una manera para darle el formato correcto al valor de la variable $fecha para que se pueda ingresar en MySQL con funciones que sirvan en php 5.2??????

he probado con varias funciones date de php pero no logro dar con ni una que me ayude, se los agradeceria mucho
  #2 (permalink)  
Antiguo 28/01/2012, 22:03
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: (ayuda)Darle formato DateTime a un string

Una solución sería cambiar los / por guiones:

Código PHP:
Ver original
  1. <?php
  2. $fecha = '15/11/2011 11:17:00';
  3. $fecha = str_replace('/', '-', $fecha);
  4. echo date('Y-m-d H:i:s', strtotime($fecha));

Saludos.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #3 (permalink)  
Antiguo 29/01/2012, 11:08
 
Fecha de Ingreso: enero-2012
Mensajes: 2
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: (ayuda)Darle formato DateTime a un string

Cita:
Iniciado por andresdzphp Ver Mensaje
Una solución sería cambiar los / por guiones:

Código PHP:
Ver original
  1. <?php
  2. $fecha = '15/11/2011 11:17:00';
  3. $fecha = str_replace('/', '-', $fecha);
  4. echo date('Y-m-d H:i:s', strtotime($fecha));

Saludos.
wow me sirvio, gracias! siempre me pasa lo mismo, lo mas sencillo es lo que me mata jejejeje

aunque me salio un Strict Standards que me dice que no deberia confiar en la zona horaria de la maquina pero igual ingreso bien los datos. logre quitar el Strict Standards con error_reporting(~E_STRICT); y la pagina ahora va bien

gracias por la ayuda de nuevo
  #4 (permalink)  
Antiguo 29/01/2012, 11:42
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: (ayuda)Darle formato DateTime a un string

Ese error es porque necesitas establecer la zona horaria ya sea con la función date_default_timezone_set o en tu php.ini

http://php.net/manual/es/function.da...mezone-set.php

Saludos.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP

Etiquetas: date, datetime, horaria, zonas
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 18:10.