{"id":1636,"date":"2016-04-14T16:21:00","date_gmt":"2016-04-14T21:21:00","guid":{"rendered":"http:\/\/linuxitos.com\/main\/guardar-fecha-date-en-mysql-desde-java\/"},"modified":"2016-04-14T16:21:00","modified_gmt":"2016-04-14T21:21:00","slug":"guardar-fecha-date-en-mysql-desde-java","status":"publish","type":"post","link":"https:\/\/linuxitos.com\/main\/guardar-fecha-date-en-mysql-desde-java\/","title":{"rendered":"Guardar fecha Date en MySQL desde JAVA"},"content":{"rendered":"<div dir=\"ltr\" style=\"text-align: left;\">\n<div>\n<div style=\"clear: both; text-align: center;\"><a href=\"https:\/\/3.bp.blogspot.com\/-trV0O_Vv6T8\/Vw3VphJT1_I\/AAAAAAAABzY\/E32OM30SYk8zI9rZgxpCqd_-xYD8m9XKwCLcB\/s1600\/Captura%2Bde%2Bpantalla%2Bde%2B2016-04-13%2B00-13-03.png\" style=\"margin-left: 1em; margin-right: 1em;\"><img loading=\"lazy\" decoding=\"async\" border=\"0\" height=\"385\" src=\"https:\/\/3.bp.blogspot.com\/-trV0O_Vv6T8\/Vw3VphJT1_I\/AAAAAAAABzY\/E32OM30SYk8zI9rZgxpCqd_-xYD8m9XKwCLcB\/s640\/Captura%2Bde%2Bpantalla%2Bde%2B2016-04-13%2B00-13-03.png\" width=\"640\" \/><\/a><\/div>\n<div style=\"text-align: justify;\">Les presento ahora la versi\u00f3n 2.1.2 de mi proyecto de ejemplo que realizo en java. Debo aclarar que este proyecto \u00fanicamente lo desarrollo para todos aquellos que se est\u00e9n iniciando en java. Est\u00e1 por dem\u00e1s decir, que existen muchas maneras que programar los m\u00e9todos que yo utilizo, algunos nos complicamos m\u00e1s, otros lo simplifican, as\u00ed que las ideas presentadas aqu\u00ed, son simplemente, una manera m\u00e1s de c\u00f3mo realizar dichos m\u00e9todos.<\/div>\n<p>En \u00e9sta versi\u00f3n se tiene:<br \/>[v2.1.2] <\/p>\n<ol style=\"text-align: left;\">\n<li>Guardado de fechas en mysql<\/li>\n<li>Recuperaci\u00f3n de las fechas y colocadas en una tabla<\/li>\n<li>Colocado de fechas en un JDateChooser<\/li>\n<\/ol>\n<\/div>\n<p>[v2.0.1]<\/p>\n<ol style=\"text-align: left;\">\n<li>Guardado de contrase\u00f1as encriptadas en md5 en mysql<\/li>\n<li>Validaci\u00f3n de usuarios a trav\u00e9s de la contrase\u00f1a encriptadas<\/li>\n<\/ol>\n<p>[v2.0.0]<\/p>\n<ol style=\"text-align: left;\">\n<li>SplashScreen con barra de progreso modificable.<\/li>\n<li>Respaldar la base de datos<\/li>\n<li>Restaurar la base de datos<\/li>\n<li>Modificar la informaci\u00f3n del usuario en configuraci\u00f3n de la cuenta.<\/li>\n<\/ol>\n<p>[v1.0.0]<\/p>\n<ol style=\"text-align: left;\">\n<li>Login.<\/li>\n<li>Creaci\u00f3n de usuarios.<\/li>\n<li>Detecci\u00f3n al presionar enter: es decir, que cuando se presiona enter  en un cuadro de texto autom\u00e1ticamente se ejecuta la acci\u00f3n  correspondiente.<\/li>\n<li>Altas, bajas, modificaciones, busquedas en la BD.<\/li>\n<li>Uso de JDialog.<\/li>\n<li>B\u00fasqueda datos mientras se escribe: es decir, se van filtrando los registros al escribir.<\/li>\n<li>Detecci\u00f3n de la tecla scape: es decir, en algunas ventanas, se  detecta la tecla scape, para indicar que se cancela la edici\u00f3n o  modificaci\u00f3n.<\/li>\n<li>Uso de \u00edcono para la aplicaci\u00f3n.<\/li>\n<li>Deshabilitar la opci\u00f3n del bot\u00f3n cerrar.<\/li>\n<li>Uso de abrir y regresar a otro jframe..<\/li>\n<li>Uso de clases.<\/li>\n<li>Uso de objetos completos.<\/li>\n<li>Manipulaci\u00f3n de objetos como registros.<\/li>\n<li>Incluye Script de la BD.&nbsp;<\/li>\n<\/ol>\n<h3 style=\"text-align: left;\"><span style=\"color: #073763;\">&nbsp;Descripci\u00f3n de los cambios principales:<\/span><\/h3>\n<div style=\"text-align: justify;\">Las fechas en java, de un jdate chooser, se pueden obtener en formato long, es decir, en d\u00edgitos n\u00famericos muy largos.<\/div>\n<div style=\"text-align: justify;\">Algo as\u00ed: 1460696400000, esto a su vez, se puede convertir a texto y guardarlo como una cadena en la base de datos. Al momento de extraerlo de nuevo, se convierte a long y se le env\u00eda como par\u00e1metro al m\u00e9todo settime de un objeto date.<\/div>\n<div style=\"text-align: justify;\"><\/div>\n<div style=\"text-align: justify;\">La verdad, no s\u00e9 si sea esta la manera correcta de guardar la fecha en mysql, sin embargo me pareci\u00f3 muy f\u00e1cil de utilizarlo de esta forma.<\/div>\n<div style=\"text-align: justify;\"><\/div>\n<div style=\"text-align: justify;\">Adem\u00e1s, en este mismo formato, tambi\u00e9n se le puede asignar a un JDateChooser.<\/div>\n<div style=\"text-align: justify;\"><\/div>\n<h3 style=\"text-align: justify;\"><span style=\"color: #073763;\">M\u00e9todos principales:<\/span><\/h3>\n<div style=\"text-align: justify;\">Para obtener la fecha en formato cadena de un obejto JDateChooser, se hace lo siguiente:<\/div>\n<div style=\"text-align: justify;\"><\/div>\n<div style=\"text-align: justify;\"><b><span style=\"color: #660000;\">String fecha:<\/span><\/b><\/div>\n<div style=\"text-align: justify;\"><b><span style=\"color: #660000;\">fecha= Long.toString(jdateFechaEvento.getDate().getTime());<\/span><\/b><\/div>\n<div style=\"text-align: justify;\"><\/div>\n<div style=\"text-align: justify;\">Ahora que ya se tiene la fecha en un formato de texto, \u00e9sta, ya se puede enviar a un m\u00e9todo que la guarde en mysql.<\/div>\n<div style=\"text-align: justify;\"><\/div>\n<div style=\"text-align: justify;\">Obtener la fecha de mysql y pasarla a un formato de fecha, por ejemplo a este \u00ab2\/4\/2016\u00bb, el proceso es el siguiente:<\/div>\n<div style=\"text-align: justify;\"><\/div>\n<div style=\"text-align: justify;\"><b><span style=\"color: #660000;\">Date fechaEvento = new Date(); \/\/se crea e inicializa un objeto de tipo Date<\/span><\/b><\/div>\n<div style=\"text-align: justify;\"><b><span style=\"color: #660000;\">Calendar c; \/\/Se crea un objeto de tipo calendar<\/span><\/b><\/div>\n<div style=\"text-align: justify;\"><b><span style=\"color: #660000;\">String fecha; \/\/la cadena en la que se guardar\u00e1 la fecha<\/span><\/b><\/div>\n<div style=\"text-align: justify;\"><b><span style=\"color: #660000;\">\/*Este proceso, es en realidad el while de la consulta que se realiza a la base de datos, para entenderlo mejor, descargar el ejemplo completo. Pero b\u00e1sicamente lo que se hace es, obtener la fecha en formato String, convertirla a long y asignarla al objeto tipo Date, usando el m\u00e9todo setTime, el cual recibe un long*\/<\/span><\/b><\/div>\n<div style=\"text-align: justify;\"><b><span style=\"color: #660000;\">fechaEvento.setTime(Long.parseLong(temp.getFecha_evento()));<\/span><\/b><\/div>\n<div style=\"text-align: justify;\"><b><span style=\"color: #660000;\">c = Calendar.getInstance(); \/\/se obtiene una instancia de calendar, con la fecha actual.<\/span><\/b><\/div>\n<div style=\"text-align: justify;\"><b><span style=\"color: #660000;\">c.setTime(fechaEvento); \/\/se le asigna a calendar la fecha obtenida de la base de datos.<\/span><\/b><\/div>\n<div style=\"text-align: justify;\"><b><span style=\"color: #660000;\">\/*Se asigna a la cadena el formato deseado manualmente, este formato tambi\u00e9n se puede obtener de manaera m\u00e1s f\u00e1cil con getdateformat, pero quise hacerlo de este modo*\/ <\/span><\/b><\/div>\n<div style=\"text-align: left;\"><b><span style=\"color: #660000;\">fecha = Integer.toString(c.get(Calendar.DATE))+\u00bb\/\u00bb+<\/span><\/b><\/div>\n<div style=\"text-align: left;\"><b><span style=\"color: #660000;\">Integer.toString(c.get(Calendar.MONTH))+ \u00ab\/\u00bb+Integer.toString(c.get(Calendar.YEAR));<\/span><\/b><\/div>\n<div style=\"text-align: justify;\"><\/div>\n<div style=\"text-align: justify;\">Bueno, sin m\u00e1s, pueden descargarlo desde aqu\u00ed: <\/p>\n<div>\n<div><a href=\"https:\/\/mega.nz\/#!TZZGFaxA!HmTqeFMACYHHkJh-oyrvOzLN4H8-sB5OhGd3Bc9vMEk\">https:\/\/mega.nz\/#!TZZGFaxA!HmTqeFMACYHHkJh-oyrvOzLN4H8-sB5OhGd3Bc9vMEk<\/a><\/div>\n<\/div>\n<\/div>\n<div style=\"text-align: justify;\"><\/div>\n<div style=\"text-align: justify;\"><\/div>\n<div style=\"text-align: justify;\">Gracias por visitar.<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Les presento ahora la versi\u00f3n 2.1.2 de mi proyecto de ejemplo que realizo en java. Debo aclarar que este proyecto \u00fanicamente lo desarrollo para todos aquellos que se est\u00e9n iniciando en java. Est\u00e1 por dem\u00e1s decir, que existen muchas maneras que programar los m\u00e9todos que yo utilizo, algunos nos complicamos m\u00e1s, otros lo simplifican, as\u00ed [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[745,747,7,748,746,750,744,60,749,743],"tags":[],"class_list":["post-1636","post","type-post","status-publish","format-standard","hentry","category-calendar","category-date","category-fedora","category-get-time","category-guardar-fecha-en-mysql","category-jdate","category-long","category-mysql","category-savee-date-to-mysql-from-java","category-time"],"_links":{"self":[{"href":"https:\/\/linuxitos.com\/main\/wp-json\/wp\/v2\/posts\/1636","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/linuxitos.com\/main\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/linuxitos.com\/main\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/linuxitos.com\/main\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/linuxitos.com\/main\/wp-json\/wp\/v2\/comments?post=1636"}],"version-history":[{"count":0,"href":"https:\/\/linuxitos.com\/main\/wp-json\/wp\/v2\/posts\/1636\/revisions"}],"wp:attachment":[{"href":"https:\/\/linuxitos.com\/main\/wp-json\/wp\/v2\/media?parent=1636"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/linuxitos.com\/main\/wp-json\/wp\/v2\/categories?post=1636"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/linuxitos.com\/main\/wp-json\/wp\/v2\/tags?post=1636"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}