将字符串转换为C#UK和US格式的DateTime

lev*_*bra 10 c#

我正在尝试将字符串转换为日期时间

我一直在用

DateTime convertedDate = DateTime.Parse(lastModificationDate);
Run Code Online (Sandbox Code Playgroud)

转换日期

我的问题是,有时日期将采用英国格式,有时采用美国格式

即英国11/09/2011 10:34 美国2/28/2010 13:56

当我不确定字符串将采用哪种格式,即我们或英国时,如何处理这两种格式?

Jon*_*eet 17

你根本不可能.您没有足够的数据.作为一个,这个日期涉及到哪里?

11/09/2011 10:34
Run Code Online (Sandbox Code Playgroud)

那是9月11日还是11月9日?

如果你无法区分人类,那么计算机就没有机会这样做.

现在,如果您可以从同一数据源中的其他位置获取信号,那么这是一个开始 - 例如,您可以启发式尝试将所有日期解析为美国格式,并将所有日期解析为英国格式,如果100%传递为英国格式,但60%以美国格式失败(由于试图将数天解析为无效月份),那么您可以合理地假设它们是英国约会.

这永远不会是一个完整的解决方案 - 因为你可以拥有一个数据源,其中包含两种格式的所有有效(但含义不同)的日期.