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?
So for pdr = 20090521-20090523 would get "20090521 00:00:00" and "20090523 23:59:59"
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); }