title: strptime time conversion - wrong value for year and month
body: <p>I'm trying to use <code>strptime()</code> to parse a date / time string into its component values.  As a test, I tried to parse a fixed datetime string and print the resulting values, using the following code:</p>
  
  <pre><code>#include &lt;stdio.h&gt;
  #include &lt;stdlib.h&gt;
  #include &lt;string.h&gt;
  #include &lt;time.h&gt;
  
  int main(void)
  {
          struct tm tm;
          memset(&amp;tm, 0, sizeof(struct tm));
          strptime("2001/11/12 18:31:01", "%Y/%m/%d %H:%M:%S", &amp;tm);
          printf("year: %d; month: %d; day: %d;\n",
                          tm.tm_year, tm.tm_mon, tm.tm_mday);
          printf("hour: %d; minute: %d; second: %d\n",
                          tm.tm_hour, tm.tm_min, tm.tm_sec);
          exit(EXIT_SUCCESS);
  }
  </code></pre>
  
  <p>The output I get is:</p>
  
  <pre><code>year: 101; month: 10; day: 12;
  hour: 18; minute: 31; second: 1
  </code></pre>
  
  <p>The other values look good, but the year and month don't match the input (<code>2001/11/12 18:31:01</code>).  Why is that?</p>