package com.mindprod.inauguration;
import java.util.Calendar;
import java.util.GregorianCalendar;
import java.util.TimeZone;
import static java.lang.System.*;
/**
* calculate hours to next inauguration. Demonstrates use of GregorianCarlendar for elapsed time calculation.
*
* @author Roedy Green, Canadian Mind Products
* @version 1.2 2005-06-30
* @since 2000
*/
public final class InaugurationElapsed
{
/**
* 3,600,000 the number of milliseconds in an hour
* Cannot use TimeUnit in Java 1.1
*/
private static final int MILLISECONDS_PER_HOUR = 60 * 60 * 1000;
/**
* Main method.
*
* @param args not used
*/
public static void main( String[] args )
{
final int inaugYear = 2017;
TimeZone est = TimeZone.getTimeZone( "America/New_York" );
GregorianCalendar inauguration = new GregorianCalendar( est );
inauguration.set( inaugYear, Calendar.JANUARY, 20, 12, 0 );
GregorianCalendar now = new GregorianCalendar();
long epochInauguration = inauguration.getTime().getTime();
long epochNow = now.getTime().getTime();
double hours = ( double ) ( epochInauguration - epochNow ) / MILLISECONDS_PER_HOUR;
out.println( hours + " hours until the inauguration." );
}
}