"Si usa algún código del siguiente tutorial, den el icono de ME GUSTA del Facebook que se encuentra en su mano derecha, para que se vuelva Seguidor del Blog y también comentenos que tal les pareció el tutorial"
A continuación les voy a pasar un clase que yo uso para manejar las fechas. Tiene métodos importantes para el manejo de fechas como: Fecha actual, hora actual, sumar días a una Fecha, etc. Espero que les ayude mucho en la programación con el lenguaje de programación Java.
import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; //@author Henry Joe Wong Urquiza public class ManejadorFechas { //Metodo usado para obtener la fecha actual //@return Retorna un <b>STRING</b> con la fecha actual formato "dd-MM-yyyy" public static String getFechaActual() { Date ahora = new Date(); SimpleDateFormat formateador = new SimpleDateFormat("dd-MM-yyyy"); return formateador.format(ahora); } //Metodo usado para obtener la hora actual del sistema //@return Retorna un <b>STRING</b> con la hora actual formato "hh:mm:ss" public static String getHoraActual() { Date ahora = new Date(); SimpleDateFormat formateador = new SimpleDateFormat("hh:mm:ss"); return formateador.format(ahora); } //Sumarle dias a una fecha determinada //@param fch La fecha para sumarle los dias //@param dias Numero de dias a agregar //@return La fecha agregando los dias public static java.sql.Date sumarFechasDias(java.sql.Date fch, int dias) { Calendar cal = new GregorianCalendar(); cal.setTimeInMillis(fch.getTime()); cal.add(Calendar.DATE, dias); return new java.sql.Date(cal.getTimeInMillis()); } //Restarle dias a una fecha determinada //@param fch La fecha //@param dias Dias a restar //@return La fecha restando los dias public static synchronized java.sql.Date restarFechasDias(java.sql.Date fch, int dias) { Calendar cal = new GregorianCalendar(); cal.setTimeInMillis(fch.getTime()); cal.add(Calendar.DATE, -dias); return new java.sql.Date(cal.getTimeInMillis()); } //Diferencias entre dos fechas //@param fechaInicial La fecha de inicio //@param fechaFinal La fecha de fin //@return Retorna el numero de dias entre dos fechas public static synchronized int diferenciasDeFechas(Date fechaInicial, Date fechaFinal) { DateFormat df = DateFormat.getDateInstance(DateFormat.MEDIUM); String fechaInicioString = df.format(fechaInicial); try { fechaInicial = df.parse(fechaInicioString); } catch (ParseException ex) { } String fechaFinalString = df.format(fechaFinal); try { fechaFinal = df.parse(fechaFinalString); } catch (ParseException ex) { } long fechaInicialMs = fechaInicial.getTime(); long fechaFinalMs = fechaFinal.getTime(); long diferencia = fechaFinalMs - fechaInicialMs; double dias = Math.floor(diferencia / (1000 * 60 * 60 * 24)); return ((int) dias); } //Devuele un java.util.Date desde un String en formato dd-MM-yyyy //@param La fecha a convertir a formato date //@return Retorna la fecha en formato Date public static synchronized java.util.Date deStringToDate(String fecha) { SimpleDateFormat formatoDelTexto = new SimpleDateFormat("dd-MM-yyyy"); Date fechaEnviar = null; try { fechaEnviar = formatoDelTexto.parse(fecha); return fechaEnviar; } catch (ParseException ex) { ex.printStackTrace(); return null; } } }





16 comentarios:
Ola..
Excelente blog y excelentes post.. tengo una pequeña duda.. me sirvio bastante tu ejemplo de este post sobre manejar fechas. en particular estoy manejando horas. de tu codigo que pusiste para obtener la hora actual del sistema, quisiera saber si me puedes ayudar con lo siguiente.
Si tengo 2 horas (hora del sistema en formado hh:mm:ss) como obtener la diferencia o duracion o tiempo transcurrido entre ambas?? y obtener el resultado en el mismo formato hh:mm:ss..
me puedes ayudar???
Hola Nio ... Lo puedes hacer de la siguiente manera:
java.util.Date fechaMenor = new java.util.Date(2011, 03, 15, 8, 15, 23);
java.util.Date fechaMayor = new java.util.Date(2011, 03, 15, 11, 20, 40);
long diferenciaMils = fechaMayor.getTime() - fechaMenor.getTime();
long segundos = diferenciaMils / 1000;
long horas = segundos / 3600;
segundos -= horas * 3600;
long minutos = segundos / 60;
segundos -= minutos * 60;
System.out.println(horas+":"+minutos+":"+segundos);
Saludos
Ingeniero en el metodo sumar dias a una fecha me parece que se deberia de implementar con java.util.Date o es lo mismo hacerlo con java.sql.Date????
era justo lo que necesitaba.
Sabes por mi ignorancia antes no podia tener el formato yyyy-MM-dd, Y tenia que hacer maniobras dividiendo en pedacitos con for mi fecha actual y luego concatenandolos era un verdadero dolor de cabeza, se me era imposible usar un metodo para formatear en java, me daba error, pero fue una linda experiencia(me rompi la cabeza...)jaja.Gracias Master
Muy buen tuto me ayudo en muchoo gracias por haber personas con buenas intenciones de compartir y ayudar a otros q somos novatos
Gracias por tu aporte! De mucha utilidad tu clase!
muchas gracias, me fue muy útil, estaba batallando con eso de agregarle días a una fecha.
hooolaa. excelente blog, me sirvio para hacer un trabajo sobre fechas..graxx.
muchas gracias excelente blog, me sirvio de mucha utilidad
Gracias por los saludos y seguiremos apoyándolos =)
Gracias maestro!!! me salvaste. Excelente la información!!!
Guau, todo un ahorro de tiempo, Gracias Ing.
Gracias Master!! excelente código, bien explicado, k más podría decir! simplemente excelente!! ;-)
Bastante bueno, me salvaste de muchas gracias
gracias por el aporte! acabas de salvarme un proyecto de la universidad :D
gracias por el aporte! acabas de salvarme un proyecto de la universidad! :D
Publicar un comentario