首頁 > 後端開發 > C++ > 如何在 C# 中正確解析特定於文化的日期字串?

如何在 C# 中正確解析特定於文化的日期字串?

Susan Sarandon
發布: 2025-01-27 00:51:09
原創
216 人瀏覽過

How Can I Correctly Parse Culture-Specific Date Strings in C#?

使用特定文化格式將字符串解析為日期

問題陳述:

嘗試使用 Parse 方法將表示為 "dd/MM/yyyy" 格式的日期字符串轉換為 DateTime 對象,會導致異常,提示 "字符串未被識別為有效的 DateTime 格式"。

解釋和解決方案:

Parse 方法在解析自定義格式的字符串時,會採用當前文化的格式設置。在本例中,該字符串表示歐洲日期格式,這與默認的美國格式不同。為解決此問題,請改用 ParseExact 方法。

ParseExact 方法接受三個參數:要解析的字符串、預期的格式和格式提供程序。格式提供程序指定要應用的特定於文化的格式規則。對於給定的示例:

<code class="language-csharp">this.Text = "22/11/2009";
DateTime date = DateTime.ParseExact(this.Text, "dd/MM/yyyy", null);</code>
登入後複製

null 作為格式提供程序會默認為當前文化的設置。或者,您可以指定特定的區域性,例如:

<code class="language-csharp">DateTime date = DateTime.ParseExact(this.Text, "dd/MM/yyyy", CultureInfo.GetCultureInfo("en-GB"));</code>
登入後複製

Parse 和 ParseExact 之間的區別:

  • Parse: 假設當前文化的格式設置,並支持有限的日期格式集。
  • ParseExact: 需要顯式格式,並允許更大程度地靈活定制解析過程。

選擇最佳答案的方面:

類型安全: 兩個答案都提供類型安全,因為解析的結果是有效的 DateTime 對象。

性能: 兩種方法的性能都差不多,因為它們都涉及將字符串解析為日期表示形式。

靈活性: ParseExact 通過允許自定義目標格式提供了更大的靈活性,使其更適合處理具有非標準格式或不同文化的日期。

以上是如何在 C# 中正確解析特定於文化的日期字串?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板