将日期格式从ddmmyyyy更改为yyyyddmm

Gau*_*tam 0 c# date

我有一种情况,我可能会得到mmddyyyy格式或yyyymmdd格式的日期.现在我需要以yyyy-mm-dd格式转换任何收到的日期.早些时候,我只是在表格中得到约会,yyyymmdd所以我正在使用

Value = DateTime.ParseExact(dob, "yyyy-MM-dd",null)
Run Code Online (Sandbox Code Playgroud)

并获得了所需的结果.

现在我还需要检查日期的传入格式.有没有一种简单的方法可以做到这一点,还是我需要放一个if else并手动检查所有内容?

Ram*_*rai 7

您可以使用TryParseExact允许您传递要支持的可能格式集合的方法.

DateTime dateValue;
var formats = new[] { "MM-dd-yyyy", "yyyy-MM-dd" };
if (DateTime.TryParseExact(dob, formats, CultureInfo.InvariantCulture, DateTimeStyles.None, out dateValue))
{
    // do for valid date
}
else
{
    // do for invalid date
}
Run Code Online (Sandbox Code Playgroud)