Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Cambiar fecha de dd/mm/yyyy a yyyy/mm/dd

Estas en el tema de Cambiar fecha de dd/mm/yyyy a yyyy/mm/dd en el foro de PHP en Foros del Web. Hola chicos. Tengo un formulario que me permite ingresar la fecha en formato dd/mm/yyyy. Y para grabarlo tengo que pasarlo al formato yyyy-mm-dd Usé esto ...
  #1 (permalink)  
Antiguo 14/07/2016, 09:45
Avatar de bandolera  
Fecha de Ingreso: abril-2009
Mensajes: 613
Antigüedad: 15 años
Puntos: 7
Pregunta Cambiar fecha de dd/mm/yyyy a yyyy/mm/dd

Hola chicos.
Tengo un formulario que me permite ingresar la fecha en formato dd/mm/yyyy.
Y para grabarlo tengo que pasarlo al formato yyyy-mm-dd
Usé esto pero nada.
Código PHP:
$fecha_es $_POST['fecha'];   // Formato dd/mm/yyyy
$fecha date('Y-m-d'strtotime($fecha_es)); 
Qué función puedo utilizar? o es que debo capturar cada sección para armar el nuevo formato?
__________________
Todos somos iguales. NO! a la violencia de género.
  #2 (permalink)  
Antiguo 14/07/2016, 10:02
Avatar de Synkronice  
Fecha de Ingreso: octubre-2007
Ubicación: Madrid
Mensajes: 831
Antigüedad: 16 años, 6 meses
Puntos: 48
Respuesta: Cambiar fecha de dd/mm/yyyy a yyyy/mm/dd

Hola Bandolera,

prueba esto a ver...

Código PHP:
$fecha_es explode("/",$_POST['fecha']);
echo 
implode("-",rsort($fecha_es)); 
Saludos.
__________________
El problema de nuestra época consiste en que sus hombres no quieren ser útiles sino importantes.

Winston Churchill
  #3 (permalink)  
Antiguo 14/07/2016, 10:44
 
Fecha de Ingreso: octubre-2009
Mensajes: 305
Antigüedad: 14 años, 6 meses
Puntos: 29
Respuesta: Cambiar fecha de dd/mm/yyyy a yyyy/mm/dd

Cita:
Iniciado por Synkronice Ver Mensaje
Hola Bandolera,

prueba esto a ver...

Código PHP:
$fecha_es explode("/",$_POST['fecha']);
echo 
implode("-",rsort($fecha_es)); 
Saludos.
no debes usar rsort, debido que ordena de mayor a menor y si la fecha es 31/12/2016 quedará 2016/31/12

http://php.net/manual/es/function.rsort.php
  #4 (permalink)  
Antiguo 14/07/2016, 10:48
Avatar de Synkronice  
Fecha de Ingreso: octubre-2007
Ubicación: Madrid
Mensajes: 831
Antigüedad: 16 años, 6 meses
Puntos: 48
Respuesta: Cambiar fecha de dd/mm/yyyy a yyyy/mm/dd

Gracias sustentio,

me equivoque de funcion, la correcta es krsort()

Código PHP:
$fecha_es explode("/","01/10/1988"); 
krsort($fecha_es);
echo 
implode("-",$fecha_es); 
Saludos.
__________________
El problema de nuestra época consiste en que sus hombres no quieren ser útiles sino importantes.

Winston Churchill

Última edición por Synkronice; 14/07/2016 a las 11:00 Razón: Corregido bug al usar la funcion krsort()
  #5 (permalink)  
Antiguo 14/07/2016, 11:09
Avatar de bandolera  
Fecha de Ingreso: abril-2009
Mensajes: 613
Antigüedad: 15 años
Puntos: 7
Respuesta: Cambiar fecha de dd/mm/yyyy a yyyy/mm/dd

Cita:
Iniciado por Synkronice Ver Mensaje
Gracias sustentio,

me equivoque de funcion, la correcta es krsort()

Código PHP:
$fecha_es explode("/","01/10/1988"); 
krsort($fecha_es);
echo 
implode("-",$fecha_es); 
Saludos.
Me sale este error:
Código HTML:
Warning: implode(): Invalid arguments passed
en la línea del implode().
Y el manual PHP dice que ksort() ordena el array por clave. Pero en este caso no hay clave.
__________________
Todos somos iguales. NO! a la violencia de género.
  #6 (permalink)  
Antiguo 14/07/2016, 11:10
Avatar de Synkronice  
Fecha de Ingreso: octubre-2007
Ubicación: Madrid
Mensajes: 831
Antigüedad: 16 años, 6 meses
Puntos: 48
Respuesta: Cambiar fecha de dd/mm/yyyy a yyyy/mm/dd

Hola Bandolera,

ya lo corregí, prueba ahora.

Código PHP:
$fecha_es explode("/","01/10/1988"); 
krsort($fecha_es);
echo 
implode("-",$fecha_es); 
Saludos.
__________________
El problema de nuestra época consiste en que sus hombres no quieren ser útiles sino importantes.

Winston Churchill
  #7 (permalink)  
Antiguo 14/07/2016, 11:19
Avatar de bandolera  
Fecha de Ingreso: abril-2009
Mensajes: 613
Antigüedad: 15 años
Puntos: 7
Respuesta: Cambiar fecha de dd/mm/yyyy a yyyy/mm/dd

Cita:
Iniciado por Synkronice Ver Mensaje
Hola Bandolera,

ya lo corregí, prueba ahora.

Código PHP:
$fecha_es explode("/","01/10/1988"); 
krsort($fecha_es);
echo 
implode("-",$fecha_es); 
Saludos.
Queda así: pero si ingreso (dd/mm/aaaa)
Código PHP:
$fecha_es explode("/"$_POST['fecha']); 
ksort($fecha_es);
echo 
implode("-"$fecha_es); 
El código me bota en el mismo formato (dd/mm/aaaa) y debe ser aaaa-mm-dd
__________________
Todos somos iguales. NO! a la violencia de género.
  #8 (permalink)  
Antiguo 14/07/2016, 11:42
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Cambiar fecha de dd/mm/yyyy a yyyy/mm/dd

Tomando de referencia esto:

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

Este ejemplo:

Código PHP:
Ver original
  1. $fecha = date_create_from_format('d/m/Y', '21/06/2016');
  2. echo date_format($fecha, 'Y-m-d');

REsultado:

Código PHP:
Ver original
  1. 2016-06-21
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #9 (permalink)  
Antiguo 14/07/2016, 11:48
Avatar de bandolera  
Fecha de Ingreso: abril-2009
Mensajes: 613
Antigüedad: 15 años
Puntos: 7
Respuesta: Cambiar fecha de dd/mm/yyyy a yyyy/mm/dd

Cita:
Iniciado por Synkronice Ver Mensaje
Hola Bandolera,

ya lo corregí, prueba ahora.

Código PHP:
$fecha_es explode("/","01/10/1988"); 
krsort($fecha_es);
echo 
implode("-",$fecha_es); 
Saludos.
Siguiendo la lógica de tu código lo hice así:
Código PHP:
$fecha $_POST['fecha'];
$f explode("/"$fecha); 
$fecha_en $f[2]."-".$f[1]."-".$f[0];
echo 
$fecha_en
__________________
Todos somos iguales. NO! a la violencia de género.
  #10 (permalink)  
Antiguo 14/07/2016, 11:49
Avatar de bandolera  
Fecha de Ingreso: abril-2009
Mensajes: 613
Antigüedad: 15 años
Puntos: 7
Respuesta: Cambiar fecha de dd/mm/yyyy a yyyy/mm/dd

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Tomando de referencia esto:

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

Este ejemplo:

Código PHP:
Ver original
  1. $fecha = date_create_from_format('d/m/Y', '21/06/2016');
  2. echo date_format($fecha, 'Y-m-d');

REsultado:

Código PHP:
Ver original
  1. 2016-06-21
Yo había usado esa función, pero ahora que la veo, usé mal el formato de la primera línea.
__________________
Todos somos iguales. NO! a la violencia de género.

Etiquetas: fecha, formulario
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 23:08.