[英]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.