title: why the day not equal to 24 hours timezone set to los angeles?
body: <p><em>Background: our server PHP set timezone to America/Los_Angeles</em></p>
  
  <p>At work, I found this piece of code</p>
  
  <pre><code>$a = 1457856000;
  $b = $a + 24*3600-1;  
  
  var_dump(date('Y-m-d H:i:s', $a));
  var_dump(date('Y-m-d H:i:s', $b));
  </code></pre>
  
  <p>which output:</p>
  
  <pre><code>string(19) "2016-03-13 00:00:00" 
  string(19) "2016-03-14 00:59:59"
  </code></pre>
  
  <p>quite strange, but when I code as follow:</p>
  
  <pre><code>    date_default_timezone_set('Etc/GMT+8');
  
      $a = 1457856000;
      $b = $a + 24*3600-1;  
  
      var_dump(date('Y-m-d H:i:s', $a));
      var_dump(date('Y-m-d H:i:s', $b));
  </code></pre>
  
  <p>it output:</p>
  
  <pre><code>string(19) "2016-03-13 00:00:00"
  string(19) "2016-03-13 23:59:59"
  </code></pre>
  
  <p>Could anyone explain why this happened?</p>