using System.Globalization;
private static string[] _dateFormats = { "dd/MM/yyyy", "dd/M/yyyy", "d/MM/yyyy" };
public static void Main()
Console.WriteLine(Format("12.4.1956"));
public static string Format(string value)
if (string.IsNullOrEmpty(value)) return string.Empty;
var transformed = value.Replace(".", "/").Replace("-", "/").Replace(",", "/");
if (DateTime.TryParseExact(transformed, _dateFormats, null, DateTimeStyles.None, out var parsedDate))
return parsedDate.ToString("dd/MM/yyyy");
throw new Exception("DateFormat invalid");