using System.Globalization;
public static DateTime? SafetyParseExactStringToDate(string dateStr)
string[] formats = new string[] {
var style = DateTimeStyles.AllowWhiteSpaces;
dateStr = dateStr.Replace(".", "/").Replace("-", "/");
var isValid = DateTime.TryParseExact(dateStr, formats, CultureInfo.InvariantCulture, style, out tempDate);
public static void Main()
var result = ParseStringToDate("");
Console.WriteLine(result);