some image

Codes and Tags

Utilizando Calendar para solucionar problemas de fechas

Etiquetas: Blog, Programación No comments

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

About Edwin Torres

Related Posts

  • Logo Java
  • Logo Java
  • Logo Java
  • Logo Java

Add your comment