2014-03-31 77 views
-1

我有一个C#/ .net Windows应用程序。 它分析从外部源接收的excel文件。此excel文件的日期格式为MM/dd/yyyy。 但是格式可能会在将来发生变化。它可能是yyyy-mm-dd或yyyyMMdd或别的东西。 DateTime.ParseExact在输入中需要dateformat。处理日期格式

是否有可能使我的C#代码dateformat不可知,以便我不需要在将来更改代码? 如果是的话,我该如何做到这一点?

+1

为什么选择ParseExact? TryParse会根据你的需要做... – qqbenq

+2

出于好奇,你将如何解析01/12/2010。那是1月12日还是12月1日? –

+0

excel应该将其存储为日期/编号。 –

回答

0

您很可能在寻找类似DateTime.TryParse()的东西。它适用于任何格式,如果出现问题,它会引发你可以处理的异常。

0

下面介绍如何使用下面的日期时间的方法:

  • 解析:输入将永远是一个标准的系统格式。
  • TryParse:输入可能是标准系统格式。
  • ParseExact:输入将始终以特定格式显示。
  • TryParseExact:输入可能是特定的格式。

对我来说,这听起来像没有一个实际上适用于你完全。如果您只希望一次使用一种格式,但格式可能会改变,那么我会建议使用TryParseExact,但在外部存储日期格式,例如在配置文件中。这样,如果格式更改,则不必重新编译,但也不会依赖与标准系统格式匹配的格式。