簡體   English   中英

使用DateTime.ParseExact()函數轉換字符串時出錯

[英]Error while converting String with DateTime.ParseExact() function

我正在嘗試在日期時間轉換字符串值。 我知道這個問題被問過很多次了。 但是我幾乎檢查了所有答案。 但是我沒有得到我的問題的答案。

以下是我的代碼:

string ObjTime = "5/4/2013 10:30 PM";

DateTime d = DateTime.ParseExact(ObjTime, "dd/MM/yyyy H:mm", CultureInfo.CurrentCulture);

我還通過選擇系統日期時間格式進行了檢查。

而且我也用這個:

DateTime d = DateTime.ParseExact(ObjTime, "d/M/yyyy H:mm tt", CultureInfo.CurrentCulture);

誰能幫我解決這個問題?

而且我已經通過將格式更改為d/m/yyy H:mm但仍然給我錯誤。 我正在使用Visual Studio 2012

我檢查了問題,似乎您的字符串格式不正確,因此ParseExact拋出錯誤。

如果您將字符串從

string ObjTime = "5/4/2013 10:30 PM";

string ObjTime = "05/04/2013 10:30 PM";

該代碼有效

還檢查了這個

在此處輸入圖片說明

除了嘗試顯式指定格式字符串外,您還可以嘗試指定區域性,這種格式在該區域性中有效。 對於EN-US文化:

  DateTime.Parse(ObjTime, CultureInfo.GetCultureInfo("en-us"));

您的字符串中的日期和月份為一位數字,並且您嘗試使用僅支持兩位數字的日期/月份的格式來解析它

你應該做:

string ObjTime = "5/4/2013 10:30 PM";
DateTime d = DateTime.ParseExact(ObjTime, "d/M/yyyy h:mm tt", CultureInfo.CurrentCulture);

您應使用dM ,這將支持單位數和兩位數的日/月解析。

您還應該使用小寫字母h因為字符串中包含PM 因此,您的最終格式應為"d/M/yyyy h:mm tt"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM