从日期字符串中检测日期格式

时间:2017-07-14 07:56:55

标签: c# datetime

在我的应用程序中,我有可能以两种格式获取日期" dd / MM / yyyy"和" MM / dd / yyyy",我希望两种日期格式都在" dd / MM / yyyy"格式,我尝试使用DateTime.TryParseExact

string date = "12/21/2017";
DateTime dt;
if(!DateTime.TryParseExact(date, "MM/dd/yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None, out dt))
{
    DateTime.TryParseExact(date, "dd/MM/yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None, out dt);
}
Console.WriteLine(dt.ToString());

我的问题是,我的代码工作正常,如果我有这样的日期输入12/21/2017(MM / dd / yyyy)并将日期转换为21/12/2017(年/月/日)但如果日期是这样的,可以是(MM / dd / yyyy)或(dd / MM / yyyy),它可以通过考虑日期格式(MM / dd)给出10/11/2017月/年)。

有没有办法从日期获取日期格式,以便我可以使用ParseExact将日期解析为(dd / MM / yyyy)格式,或者有什么方法可以转换日期格式(MM) / dd / yyyy)或(dd / MM / yyyy)到(年/月/日)。

修改 基于与你的对话,我得知在某些日期它是模棱两可的,我将要求前端团队给出DateTime对象而不是日期字符串。非常感谢你。

0 个答案:

没有答案