title: C# Parse String into DateTime with Specific TimeZone
body: <p>I've been struggling with this for a bit so I'll punt to SO.</p>
  
  <p>I have an app where I need to parse strings into datetimes.  The strings look like this:</p>
  
  <pre><code>"201503131557"
  </code></pre>
  
  <p>(they will always be this format "yyyyMMddHHmm") and always be in Central Standard Time (or Central Daylight Time depending on the date)even though they don't specify it.</p>
  
  <p>When I parse them I understand that it parses them into local time.  I'm running on Azure PaaS and don't want to change it to run in CST just to support this operation.  </p>
  
  <p>How do i write code that works both locally and in Azure PaaS that will correctly  parse these dates into DateTimes setting their timezone to CST?</p>
  
  <p>Here is a quick unit test I wrote to prove Matt Johnson's answer.  </p>
  
  <pre><code>    [TestMethod]
      public void DateTests()
      {
          var unSpecDt = DateTime.ParseExact("201503131557", "yyyyMMddHHmm", CultureInfo.InvariantCulture);
          var tz = TimeZoneInfo.FindSystemTimeZoneById("Central Standard Time");
  
  
          var utcDt = TimeZoneInfo.ConvertTimeToUtc(unSpecDt, tz);
  
          var offset = tz.GetUtcOffset(unSpecDt);
          var dto =new DateTimeOffset(unSpecDt, offset);
  
  
          var cstDt = dto.DateTime;
  
          Assert.IsTrue(cstDt.Hour - utcDt.Hour == offset.Hours);
      }
  </code></pre>