title: new Date(new Date().getTime()-25 * 24 * 60 * 60 * 1000) got unexpected date
body: <p>I would like to generate a list of dates, but found out the date is wrong start from - 25 * 24 * 60 * 60 * 1000     </p>
  
  <p>My local date is 2016-07-17. I got </p>
  
  <pre>
  2016-07-17
  2016-07-16
  2016-07-15
  ...
  2016-06-23
  <strong>2016-08-11</strong>
  </pre>
  
  <p>I have no idea where the <code>2016-08-11</code> comes from. I broke down the 25 to 24 and -1 as below (<code>xxx</code> and <code>yyy</code>), and then I got the correct date <code>2016-06-22</code>.</p>
  
  <p>Why does <code>xxx</code> work but <code>yyy</code> Doesn't?</p>
  
  <pre><code>Date xxx = new Date(new Date().getTime()-24 * 24 * 60 * 60 * 1000 -1 * 24 * 60 * 60 * 1000);
  Date yyy = new Date(new Date().getTime()-25 * 24 * 60 * 60 * 1000);
  </code></pre>
  
  <p>Here is my code: date is wrong from i=25</p>
  
  <pre><code>for (int i=0; i&lt;240;i++) {
      Date dt = new Date(new Date().getTime() - i * 24 * 60 * 60 * 1000);
      Log.e(TAG,Global.sdfDateTime19.format(dt));
  }
  </code></pre>