2014-03-31 78 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,但在外部存儲日期格式,例如在配置文件中。這樣,如果格式更改,則不必重新編譯,但也不會依賴與標準系統格式匹配的格式。