title: How to get the start and end times of a day
body: <p>In my C# app, I pass a string variable that is of format yyyymmdd-yyyymmdd that represents a from and to date. I want to get the start and end times for these dates respectively. Currently I have the below code but was wondering if there was more of an elegant solution?</p>
  
  <p>So for pdr = 20090521-20090523 would get "20090521 00:00:00" and "20090523 23:59:59"</p>
  
  <pre><code>private void ValidateDatePeriod(string pdr, out DateTime startDate, 
                                  out DateTime endDate)
  {
      string[] dates = pdr.Split('-');
  
      if (dates.Length != 2)
      {
          throw new Exception("Date period is of incorrect format");
      }
  
      if (dates[0].Length != 8 || dates[1].Length != 8)
      {
          throw new Exception("Split date periods are of incorrect format");
      }
  
      startDate = DateTime.ParseExact(dates[0] + " 00:00:00", 
          "yyyyMMdd HH:mm:ss", null);
      endDate = DateTime.ParseExact(dates[1] + "23:59:59", 
          "yyyyMMdd HH::mm:ss", null);
  }
  </code></pre>