Foros del Web » Programando para Internet » PHP »

Recibir fecha sin separadores

Estas en el tema de Recibir fecha sin separadores en el foro de PHP en Foros del Web. Buenas tengo un formulario donde el usuario envía la fecha y con el código cambio el formato para guardarlo en la base de datos, bien ...
  #1 (permalink)  
Antiguo 14/02/2017, 07:39
 
Fecha de Ingreso: febrero-2003
Mensajes: 233
Antigüedad: 21 años, 2 meses
Puntos: 4
Recibir fecha sin separadores

Buenas tengo un formulario donde el usuario envía la fecha y con el código cambio el formato para guardarlo en la base de datos, bien si el usuario escribre la fecha en cualquiera de los siguientes formatos me hace el cambio: DD/MM/AAA o DD-MM-AAAA pero si el usuario escribe DDMMAAA no lo hace, como podría lograrlo?

este es el código

$fecha=$_POST["fecha_nac"];
$fecha=date("Y-m-d",strtotime($fecha));
echo $fecha;

También se me ocurre validar con javascript el formato y notificarle al usuario pero me gustaría saber si se puede hacer la conversion con PHP

Gracias de antemano
  #2 (permalink)  
Antiguo 14/02/2017, 08:19
Avatar de petit89  
Fecha de Ingreso: marzo-2011
Mensajes: 1.135
Antigüedad: 13 años, 1 mes
Puntos: 170
Respuesta: Recibir fecha sin separadores

Lo mejor que puedes hacer es forzar a la entrada de la información en el formato que lo necesitas... revisa este ejemplo, puedes modificarlo a tu necesidad, muy efectivo:

http://jsfiddle.net/Ajedi32/pgsawnk3/
__________________
█ WebHosting / Reseller a bajo costo | Uptime Garantizado | Soporte en Español e Ingles
¿Te sirvió la respuesta? Deja un +1 (Triangulo negro al lado derecho)
  #3 (permalink)  
Antiguo 14/02/2017, 10:22
 
Fecha de Ingreso: febrero-2003
Mensajes: 233
Antigüedad: 21 años, 2 meses
Puntos: 4
Respuesta: Recibir fecha sin separadores

Muchas Gracias
  #4 (permalink)  
Antiguo 14/02/2017, 12:08
alvaro_trewhela
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Recibir fecha sin separadores

Nunca valides solo en js.

Lo único que debes hacer es manejar la fecha como string con substr():

Código PHP:
Ver original
  1. $fecha = "12345678";
  2.  
  3. $d = substr($fecha, 0, 2);
  4. $m = substr($fecha, 2, 2);
  5. $y = substr($fecha, 4);

Con eso tienes dia, mes y año, Ahora puedes manipular esas variables como se te de la gana...

Sería tu deber validar $fecha

Saludos ;)

Última edición por alvaro_trewhela; 14/02/2017 a las 14:30
  #5 (permalink)  
Antiguo 14/02/2017, 15:24
 
Fecha de Ingreso: noviembre-2015
Mensajes: 231
Antigüedad: 8 años, 5 meses
Puntos: 86
Respuesta: Recibir fecha sin separadores

Antes que crear una mascara, usa el atributo pattern. De cualquier modo, como te indican, la validación que realmente importa es la que hagas en el servidor
  #6 (permalink)  
Antiguo 25/02/2017, 05:06
 
Fecha de Ingreso: febrero-2003
Mensajes: 233
Antigüedad: 21 años, 2 meses
Puntos: 4
Respuesta: Recibir fecha sin separadores

Gracias a todos!
  #7 (permalink)  
Antiguo 01/03/2017, 22:42
Avatar de kip13  
Fecha de Ingreso: agosto-2011
Mensajes: 167
Antigüedad: 12 años, 8 meses
Puntos: 13
Respuesta: Recibir fecha sin separadores

Esto puede servir tambien:

Código PHP:
Ver original
  1. $data="12102017" ; //dmY
  2. if (($n_fecha = date_create_from_format("dmY", $data)) !== FALSE) {
  3.     echo date_format($n_fecha, "Y-m-d") ;
  4. }

Etiquetas: fecha, formulario, recibir, usuario
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 02:23.