Increment a day in Java or get previous date

  1. Using java.util.Calendar in typical Java application

    <pre class="lang-java prettyprint prettyprinted" style="background-color: #eff0f1; border: 0px; color: #393318; font-family: Consolas, Menlo, Monaco, "Lucida Console", "Liberation Mono", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", monospace, sans-serif; font-size: 13px; margin-bottom: 1em; max-height: 600px; overflow: auto; padding: 5px; width: auto; word-wrap: normal;">SimpleDateFormat dateFormat = new SimpleDateFormat( "yyyy-MM-dd" );
    Calendar cal = Calendar.getInstance();
    cal
    .setTime( dateFormat.parse( inputString ) );
    cal
    .add( Calendar.DATE, 1 );
    </pre>
    2. Using java.util.Date - this does’t take care Daylight saving but might be required for certain use cases and especially in GWT where Calendar is not supported.

    <pre class="lang-java prettyprint prettyprinted" style="background-color: #eff0f1; border: 0px; font-family: consolas, menlo, monaco, "lucida console", "liberation mono", "dejavu sans mono", "bitstream vera sans mono", "courier new", monospace, sans-serif; font-size: 13px; margin-bottom: 1em; max-height: 600px; overflow: auto; padding: 5px; width: auto; word-wrap: normal;"><pre class="lang-java prettyprint prettyprinted" style="border: 0px; color: #393318; font-family: Consolas, Menlo, Monaco, "Lucida Console", "Liberation Mono", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", monospace, sans-serif; margin-bottom: 1em; max-height: 600px; overflow: auto; padding: 5px; width: auto; word-wrap: normal;">Date date = new Date();
    Date daysAgo = new Date(date.getTime() - (1000*60*60*24));
    </pre></pre>
    3. Using 3rd party library. For example, http://joda-time.sourceforge.net

    <pre class="lang-java prettyprint prettyprinted" style="background-color: #eff0f1; border: 0px; color: #393318; font-family: Consolas, Menlo, Monaco, "Lucida Console", "Liberation Mono", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", monospace, sans-serif; font-size: 13px; margin-bottom: 1em; max-height: 600px; overflow: auto; padding: 5px; width: auto; word-wrap: normal;">Date date = new Date(); // Or where ever you get it from
    Date daysAgo = new DateTime(date).minusDays(300).toDate();
    </pre>