/* * [InaugurationDefault.java] * * Summary: countdown to next US Presidential inauguration. * * Copyright: (c) 2000-2017 Roedy Green, Canadian Mind Products, http://mindprod.com * * Licence: This software may be copied and used freely for any purpose but military. * http://mindprod.com/contact/nonmil.html * * Requires: JDK 1.8+ * * Created with: JetBrains IntelliJ IDEA IDE http://www.jetbrains.com/idea/ * * Version History: * 1.2 2006-03-05 reformat with IntelliJ, add Javadoc. * 1.3 2009-01-20 change to Obama */ package com.mindprod.inauguration; import java.text.DateFormat; import java.util.Calendar; import java.util.GregorianCalendar; import java.util.TimeZone; import static java.lang.System.*; /** * countdown to next US Presidential inauguration. *

* Demonstrates use of default date format for locale. * * @author Roedy Green, Canadian Mind Products * @version 1.3 2009-01-20 change to Obama * @since 2000 */ public final class InaugurationDefault { /** * locale specific: e.g. Jan 20, 2005 */ private static final DateFormat DF = DateFormat.getDateInstance(); /** * Main method. * * @param args not used */ public static void main( String[] args ) { // inauguration day is Thursday 2009-01-20 noon Eastern Standard // Time. Same code automatically adjusts for DST in the summer. final int inaugYear = 2017; TimeZone est = TimeZone.getTimeZone( "America/New_York" ); GregorianCalendar inauguration = new GregorianCalendar( est ); inauguration.set( inaugYear, Calendar.JANUARY, 20, 12, 0, 0 ); // set TimeZone, not needed if the client's default TZ will do. DF.setTimeZone( est ); // or DF.setCalendar( inauguration ); // set timestamp String dateString = DF.format( inauguration.getTime() /* Date object */ ); out.println( dateString ); } }