public static bool IsDate(this string payload)
{
bool result = false;
if (string.IsNullOrEmpty(payload))
{
return false;
}
var acceptedDateFormats = new List<string>
{
"yyyymmdd",
"mmddyyyy",
"yyyyddmm",
"ddmmyyyy",
"yyyy/mm/dd",
"dd/mm/yyyy",
"yyyy/dd/mm",
"mm/dd/yyyy",
"yyyy-mm-dd",
"dd-mm-yyyy",
"mm-dd-yyyy",
"yyyy-dd-mm",
@"dd\mm\yyyy",
@"yyyy\mm\dd",
@"yyyy\dd\mm",
@"mm\dd\yyyy",
"dd mm yyyy",
"mm dd yyyy",
"yyyy mm dd",
"yyyy dd mm",
"yyyy mm dd",
"dd.mm.yyyy",
"mm.dd.yyyy",
"yyyy.mm.dd",
"yyyy.dd.mm"
};
var d = new DateTimeParser();
int count = 0;
while (result == false && count < acceptedDateFormats.Count)
{
string errorMsg;
IDateTimeResultTO to;
result = d.TryParseDateTime(payload, acceptedDateFormats[count], out to, out errorMsg);
count++;
}
return result;
}
private static readonly XmlReaderSettings IsXmlReaderSettings = new XmlReaderSettings { ConformanceLevel = ConformanceLevel.Auto, DtdProcessing = DtdProcessing.Ignore };