Foros del Web » Programando para Internet » PHP »

fechas en php

Estas en el tema de fechas en php en el foro de PHP en Foros del Web. Quisiera saber si se puede detectar el tipo de fecha que el usuario inserte en el formulario y luego cambiarla por otra. Ejemplo: 12/09/2013 a ...
  #1 (permalink)  
Antiguo 12/09/2013, 06:48
 
Fecha de Ingreso: abril-2013
Mensajes: 17
Antigüedad: 11 años
Puntos: 0
fechas en php

Quisiera saber si se puede detectar el tipo de fecha que el usuario inserte en el formulario y luego cambiarla por otra.

Ejemplo:
12/09/2013 a 2013-09-12
12-09-2013 a 2013-09-12
12/09/13 a 2013-09-12

Siempre se va a convertir en la misma fecha que es el formato americano pero nose como detectar que tipo de fecha ah ingresado para despues cambiarlo por el otro
Quien me puede guiar?
  #2 (permalink)  
Antiguo 12/09/2013, 07:05
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 6 meses
Puntos: 175
Respuesta: fechas en php

Código PHP:
Ver original
  1. function CFD($fecha){
  2.     list($anio,$mes,$dia)=explode("-",$fecha);
  3.     return $anio."/".$mes."/".$dia;
  4.     }

con esta función sencilla se recibe un formato de fecha tipo 1999-03-22 .. o sea año-mes-dia y lo transforma a año/mes/día

con el explode verificas que tipo de separador utiliza tu formato de fecha, en este caso usa guiones, pero si quieres lo cambias a barras
explode("-",$fecha);

todo es cuestión de que en el return modifiques a dia/mes/año
return $dia."/".$mes."/".$anio;

o si quieres mantener los guiones lo dejas en dia-mes-año...
return $dia."-".$mes."-".$anio;

esta para editar de acuerdo a lo que recibes, y como quieres que salga la fecha

si en tu base de datos tienes algo como 2013-08-12 aplicas
Código PHP:
Ver original
  1. echo CFD($row['fecha']);
y te formateará como quieres que salga
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...
  #3 (permalink)  
Antiguo 12/09/2013, 07:11
Avatar de CesarHC  
Fecha de Ingreso: junio-2011
Ubicación: localhost
Mensajes: 566
Antigüedad: 12 años, 10 meses
Puntos: 56
Respuesta: fechas en php

Tambien podrias usar str_replace asumiendo que solo trabajaras con el formato dia/mes/año, de lo contrario seria mejor la opcion que te da @loncho_rojas.

Código PHP:
Ver original
  1. <?php
  2. $date="12/09/2013";
  3. $new_date= str_replace("/", "-", $date);
  4. echo $new_date;
  5. ?>
__________________
Solo la práctica no te traicionara ¡¡¡¡¡¡

Seguir el camino tu debes PHP The Right Way.
  #4 (permalink)  
Antiguo 12/09/2013, 08:10
 
Fecha de Ingreso: abril-2013
Mensajes: 17
Antigüedad: 11 años
Puntos: 0
Respuesta: fechas en php

ya eso lo intente y lo uso a menudo pero aveces el usuario no inserta la fecha en el formato que se le dice la idea es q solo el php detecte en q formato el usuario ingreso la fecha y si esta correcto lo deje asi y sino lo esta cambiarlo por el que es
  #5 (permalink)  
Antiguo 12/09/2013, 08:25
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 6 meses
Puntos: 175
Respuesta: fechas en php

Regla de oro en la prgramación -"NUNCA CONFIES EN EL USUARIO"-

SI entendes eso, porque le permitis que ponga una fecha como él quiere.. para eso existen varios recursos... poner 3 select y luego cocatenas los valores... con un plugin js que te quite la fecha desde un calendario.. entre otras... te las complicas vos solo
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...
  #6 (permalink)  
Antiguo 12/09/2013, 08:35
Avatar de CesarHC  
Fecha de Ingreso: junio-2011
Ubicación: localhost
Mensajes: 566
Antigüedad: 12 años, 10 meses
Puntos: 56
Respuesta: fechas en php

Pues yo creo que primero debes forzar al usuario a aceptar un formato especifico, podrias usar por ejemplo al lado del campo fecha un boton que despliega un calendario y hay seleccione la fecha y desactivar el input una vez hecho eso.

Por ejemplo jscalendar
ejemplo
__________________
Solo la práctica no te traicionara ¡¡¡¡¡¡

Seguir el camino tu debes PHP The Right Way.
  #7 (permalink)  
Antiguo 12/09/2013, 09:33
 
Fecha de Ingreso: abril-2013
Mensajes: 17
Antigüedad: 11 años
Puntos: 0
Respuesta: fechas en php

voy a probar ese JSCalendar que me diste... no habia pensando en esa opcion, con tantas cosas aveces se nos pasan cosas tan sencillas

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:16.