using System.Globalization;
static public DateTime ParseDateTime(string input)
var ok = DateTime.TryParse(input, out output);
static public TimeSpan ParseTime(string input)
var ok = DateTime.TryParseExact(input, @"h:mm tt", CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.NoCurrentDateDefault, out output);
return output.Subtract(output.Date);
public static void Test1()
var dateEntered = @"08/03/2018";
var timeEntered = @"3:00 am";
var completeDateString = dateEntered + " " + timeEntered;
var ok = DateTime.TryParse(completeDateString, out result);
if (!ok) result = DateTime.Today;
Console.WriteLine(result);
public static void Test2()
var dateEntered = @"08/03/2018";
var timeEntered = @"3:00 am";
DateTime dateResult = ParseDateTime(dateEntered);
TimeSpan timeResult = ParseTime(timeEntered);
DateTime finalResult = dateResult.Add(timeResult);
Console.WriteLine(finalResult);
public static void Main()