簡體   English   中英

在C#中從字符串轉換為DateTime

[英]Conversion from String to DateTime in C#

我想將字符串轉換為日期時間。 我收到錯誤消息This is not a valid datetime

我要轉換的字符串和代碼如下。

string date1 = "9/13/2012 5:26:06 PM";
TimePart = DateTime.ParseExact(date1, "M/d/yyyy HH:mm:ss tt", System.Globalization.CultureInfo.InvariantCulture);

我認為您的format參數應該是M/dd/yyyy h:mm:ss tt

看來您的格式確實是M/d/yyyy h:mm:ss tt 區別是h (12小時,只需要多少位數)而不是HH (24小時,前導0填充到2位數字)。

如果輸入格式可能完全不同,則應改用DateTime.Parse這樣就不必告訴它確切的格式了。 ParseExact速度更快,並且要求它匹配指定的格式,這在您的演員表中可能更可取。

您需要使用小寫的h

DateTime TimePart = DateTime.ParseExact(
                                date1,
                                "M/d/yyyy h:mm:ss tt",
                                CultureInfo.InvariantCulture);

Console.WriteLine(TimePart); // 09/13/2012 17:26:06

大寫“ H”為24小時制,小寫“ h”為12小時制,具有AM / PM。

您應該將小寫h用作12小時時鍾(因為您有AM/PM指示符)。

另外,您應該只使用一個h ,因為您沒有小時數的前導0 ,而hh期望它。

有效的格式字符串:

"M/d/yyyy h:mm:ss tt"

看來HH與“ 5”不匹配。 嘗試h

暫無
暫無

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

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