title: date conversion mktime returns wrong date
body: <p>I got this code</p>
  
  <pre><code>&lt;?php
  function dateFunc($month)
  {
    setlocale(LC_TIME, 'spanish');
    $monthSub = date('m',strtotime($month));
    $name=strftime("%B",mktime(0,0,0,$monthSub,1,2000));
    $name = $name.' '.date('Y', strtotime($month));
    return strtoupper($name);
  }
  $output ="";
  
  
  $output.=
  dateFunc(date('Y-m', strtotime('-1 month'))).'&lt;br&gt;
  '.dateFunc(date('Y-m', strtotime('-2 month'))).'&lt;br&gt;
  '.dateFunc(date('Y-m', strtotime('-3 month'))).'&lt;br&gt;
  '.dateFunc(date('Y-m', strtotime('-4 month'))).'&lt;br&gt;
  '.dateFunc(date('Y-m', strtotime('-5 month'))).'&lt;br&gt;';
  
  echo $output;
  ?&gt;
  </code></pre>
  
  <p>The output is </p>
  
  <pre><code>JULIO 2017
  MAYO 2017
  MAYO 2017
  MARZO 2017
  MARZO 2017
  </code></pre>
  
  <p>I´m expecting this output</p>
  
  <pre><code>JULIO 2017
  JUNIO 2017
  MAYO 2017
  ABRIL 2017
  MARZO 2017
  </code></pre>
  
  <p>Some day I read the problem, the conflict comes on 30 days  month´s and the <code>mktime()</code> needs another parameter but I don´t remember how to fix it.</p>
  
  <p>Suggestions please...</p>