You are on page 1of 2

03/ 01/ 13

D esar r ol PH par a t odos: U o P l sos de l f unci n D a o ATE_FO R AT de M ySQ L M

Com partir

Ms

Siguiente blog

Crear un blog

Acceder

Desarrollo PHP para todos


Blog para el aprendizaje de las tecnologas usadas para el desarrollo Web (PHP,MySQL,HTML,JAVASCRIPT) y algo mas
Inicio Quien Soy

Curso de Programacion PHP


www.Aprender21.com Formacin profesional a distancia con certificacin universitaria

martes, 14 de diciembre de 2010 Usos de la funcion DATE_FORMAT de MySQL


Bueno como primera entrada de este Blog que fue creado para el aprendizade del Desarrollo Web, quiero comenzar con algo sencillo pero que ayuda bastante. Muchas veces al momento de mostrar fechas traidas de una consulta de base de datos nos encontramos con el formato americano (un probelma para algunos, ya que muchos deseamos que nos aparezca en formato de dia mes y ao), cuando comence a trabajar con PHP sencillamente usaba la funcion explode separaba la fecha y la colocaba en el formato que deseaba (dd-mm-YYYY), una buena solucin pero no la mas optima ya que MySQL nos permite traer las fechas en el formato que deseamos mediante su funcion DATE_FORMAT, con la que nos ahorramos todo el trabajo de separar y luego concatenar algo que acabamos de separar ( un poco enrredado no creen). Para evitarnos eso utilizamos esta funcion, que solo nos pide dos parametros, el primero es la fecha en formato MySQL date/time (bien sea un campo o una cadena indicada en la consulta), el segundo es el formato en que se desea obtener la fecha de la consulta, dentro del formato que deseamos optener en el manual nos indican cuales son los posibles formatos., son muy parecidos a los que se utiliza cuando trabajamos la funcion Date de php, todos antecedidos por el comodin de MySQL "%" bueno vamos a ver un pequeo ejemplo: SELECT DATE_FORMAT(campo_fe,'%d/%m%Y') as "fecha formateada" FROM tabla; el resultado seria: -------------------------------------| fecha formateada -------------------------------------| 14/12/2010 --------------------------------------

Deseas Contribuir??

Acceder
Seguir
Google Friend Connect

Suscribete
Entradas Comentarios

Suscribe tu corre a nuestro Blog


Email address... Submit

| |

Busqueda
Buscar

ahora bien, aveces algunos tenemos calendarios para selecionar fechas de un formulario, por ejemplo tenemos una pagina para busqueda en rango de fecha pero el formato que devuelve el calendario es mes/dia/ao y no conocemos como configurar el calendario para obtener la fecha en el formato deseado (pasa mucho), que hacemos el explode y lo convertimos a fecha en formato MySQL?? pues la funcion date_format tambien se puede utilizar en el condicional de la consulta por ejemplo SELECT * FROM auditoria WHERE DATE_FORMAT(fecha,'%m/%d/%Y') BETWEEN '12/01/2010' AND '12/14/2010'; de esta manera tendriamos una auditoria entre ese rango de fechas. igual si se desea buscar por ejemplo todos los 14 de Diciembre, sencillamente con indicarle al parametro de la funcion que busque solo ese dia y ese mes tendriamos nuestro resultado fijense: SELECT * FROM tabla WHERE date_format(fecha,'%d-%m')='14-12'; tambien se puede al igual que con la funcion DAY(), MONTH() y YEAR() hacer una consulta diciendo solamente el dia,mes o ao de la fecha que se desea buscar ejemplo: SELECT * FROM tabla WHERE date_format(fecha, '%d')='14'; SELECT * FROM tabla WHERE date_format(fecha,'%m')='12'; SELECT * FROM tabla WHERE date_format(fecha,'%Y')='2010'; y que con las horas?? pues date format tambien te permite establecer el formato de horas en que deseas que se traiga tu consulta un ejemplo:
desphppar at odos. bl gspot . com / 2010/ 12/ agunos- de- l s- usos- de- l - f unci n. ht m l o o a o

Contribuyentes
Carlos Belisario ByteCode

1/ 8

03/ 01/ 13

D esar r ol PH par a t odos: U o P l sos de l f unci n D a o ATE_FO R AT de M ySQ L M

suponiendo que tenemos en un campo hora las 14:30:00 y deseamos que se muestre la hora con formato AM/PM sencillamente lo que debemos hacer es utilizar nuestra funcion SELECT date_format(hora,'%h:%i:%s %p') FROM table; el resultado seria -------------------------------------| hora formateada | -------------------------------------| 02:30:00 PM | -------------------------------------bueno aca indique los usos que se le puede dar a esta funcion, que puede que paresca sencilla pero pero muy util al momento de trabajar con fechas en nuestros sistemas espero que sirva a alguien saludos Publicado por Carlos Belisario en 17:40
+1 Recomendar esto en Google

Etiquetas: MySQL Reacciones:


Interesante (0) Entendible (0) Poco Explicativo (0)

2 comentarios:
milber 28 de octubre de 2011 09:41 buenos dias hermano, excelente tu tu ayuda, ahora una pregunta como insertar la fecha en la bd desde mi formulario si estoy utlizando una libreria calendario para traer la fecha y este me lo trae dia/mes/ao???.... tengo ese problemita!! Responder

Carlos Belisario

28 de octubre de 2011 17:36

hasta donde tengo entendido e hice algunas pruebas el DATE_FORMAT es mas para obtener resultados de las consultas, que pasa cuando tienes un texto formateado?? sencillamente separa y dale formato para insertar, con php seria algo asi $campoFecha = '01/01/2011'; $fecha = explode('/', $campoFecha); $fechaInsertar = $fecha[0] . '-' . $fecha[1] . '-' . $fecha[2]; y si usas python es algo as y la variable fechaInsertar la insertas en tu campo, dejame investigar un poco mas a ver si existe manera, saludos Responder Itouet cmnai.. nrdc u oetro.

Archivo del blog


2012 (12) 2011 (17) 2010 (10) diciembre (10) Patrn de diseo Singleton PHP Patrn Registry Qu hay de nuevo en MySQL 5.5? Clases y mtodos abstractos en PHP. Creacion de Graficos en documentos PDF con FPDF y ... Funciones en PHP

Comentar como: Cuenta de Google Publicar Vista previa

Programacion Orientada a Objetos Metodos y Atribut... Introduccion a la POO en PHP clase para conexion utilizando PDO, el patron fact... Usos de la funcion DATE_FORMAT de MySQL

Enlaces a esta entrada


Crear un enlace

Entradas populares
Entendiendo el MVC En esta entrada vamos a hablar un poco del

desphppar at odos. bl gspot . com / 2010/ 12/ agunos- de- l s- usos- de- l - f unci n. ht m l o o a o

2/ 8

You might also like