Utilizando Calendar para solucionar problemas de fechas
Luego de realizar algunas operaciones con fechas utilizando las clase Calendar, me surgieron una serie de preguntas que necesitaba resolver. Esto lo hice de puro desparche jajaja.
– ¿Cuantos dias han pasado desde el descubrimiento de America ?…
– ¿Cuantas semanas faltan para que sea Navidad ?…
– ¿Cuantas horas faltan para que termine el concurso ?…
– ¿Cuantos segundos faltan para que la mona entre a vacaciones?…
Bien aqui esta el planteamiento del problema y su respectiva solución jejeje.. 😛
Solución
import java.util.Calendar; public class OperacionesFechasCalendar2 { public static void main(String[] args) { /** * Problemas comunes */ System.out.println("[ Problemas comunes con Fechas ]\n"); // Planteamiento de los problemas System.out .println(" - Cuantos dias han pasado desde el descubrimiento de America ?... "); System.out .println(" - Cuantas semanas faltan para que sea Navidad ?..."); System.out .println(" - Cuantas horas faltan para que termine el concurso ?..."); System.out .println(" - Cuantos segundos faltan para que la mona entre a vacaciones?..."); System.out.println("\n>> Datos base para las operaciones "); // Dia en que Cristobal Colon Descubrio America Calendar descubrimientoAmerica = Calendar.getInstance(); descubrimientoAmerica.set(1492, 9, 12); // Dia en que se celebra Navidad Calendar navidad = Calendar.getInstance(); navidad.set(2011, 11, 24); // Fecha de terminacion de un concurso cualquiera Calendar finConcurso = Calendar.getInstance(); finConcurso.set(2011, 9, 31); // Fin vacaciones de la mona Calendar finVacacionesMona = Calendar.getInstance(); finVacacionesMona.set(2011, 9, 18, 7, 0, 0), // Dia descubrimiento America System.out.println(String.format( " Descubrimiento de america : %1$tA %1$td de %1$tB de %1$tY ", descubrimientoAmerica.getTime())); // Dia de Navidad System.out.println(String.format(" Dia de Navidad : %1$td de %1$tB ", navidad.getTime())); // Fin del concurso System.out.println(String.format(" Fin concurso : %1$tY-%1$tm-%1$td", finConcurso.getTime())); // Fin del concurso System.out.println(String.format( " Dia en que entra la mona de vacaciones :" + "%1$tY-%1$tm-%1$td %1$th:%1$tM", finConcurso.getTime())); /** * Descubrimiento de America */ Calendar fechaActual = Calendar.getInstance(); long dias = 0; // Iterando hasta llegar a la fecha actual while (descubrimientoAmerica.compareTo(fechaActual) < 0) { // Aumentando de dia descubrimientoAmerica.add(Calendar.DATE, 1); dias++; } System.out.println("\n RTA : America se descubrio hace " + dias + " dias!"); /** * Semanas para navidad */ int semanas = 0; // Iterando hasta llegar a la fecha actual while (navidad.compareTo(fechaActual) > 0) { // Disminuyendo la semana navidad.add(Calendar.WEEK_OF_MONTH, -1); semanas++; } System.out.println(" RTA : Faltan " + semanas + " semanas para navidad!"); /** * Horas del concurso */ long horas = 0; // Iterando hasta llegar a la fecha actual while (finConcurso.compareTo(fechaActual) > 0) { // Disminuyendo la hora finConcurso.add(Calendar.HOUR, -1); horas++; } System.out.println(" RTA : Faltan " + horas + " horas para que acabe el concurso!"); /** * Vacaciones de la mona */ long segundosVacaciones = 0; // Iterando hasta llegar a la fecha actual while (finVacacionesMona.compareTo(fechaActual) > 0) { // Disminuyendo los segundos finVacacionesMona.add(Calendar.SECOND, -1); segundosVacaciones++; } System.out.println(" RTA : Mona, te quedan " + segundosVacaciones + " segundos de vacaciones!"); } }
Datos de salida
[ Problemas comunes con Fechas ] - Cuantos dias han pasado desde el descubrimiento de America ?... - Cuantas semanas faltan para que sea Navidad ?... - Cuantas horas faltan para que termine el concurso ?... - Cuantos segundos faltan para que la mona entre a vacaciones?... >> Datos base para las operaciones Descubrimiento de america : viernes 12 de octubre de 1492 Dia de Navidad : 24 de diciembre Fin concurso : 2011-10-31 Dia en que entra la mona de vacaciones :2011-10-31 oct:27 RTA : America se descubrio hace 189556 dias! RTA : Faltan 10 semanas para navidad! RTA : Faltan 361 horas para que acabe el concurso! RTA : Mona, te quedan 117176 segundos de vacaciones!
Pdta : Saludos a la mona jajaja
Add your comment