[英]Input string was not in a correct format. in timespan
TimeSpan newEventStartTime = TimeSpan.ParseExact(Start_Time, "HH:mm", CultureInfo.InvariantCulture);
當這行代碼執行時,它會產生錯誤輸入字符串的格式不正確。 變量Start_Time數據類型是c#中的字符串,它在java腳本中的數據類型是時間。
不久前我自己做了類似的事情。 這里有一些事情需要在您的格式字符串中進行修改。
TimeSpan
類型是指時間段感覺中的小時而不是時間感(即使是,它也用於顯示一天中的時間),您需要小寫h
s。 大寫意味着24小時制,當你沒有AM和PM的概念時,這是無關緊要的,而TimeSpan
則沒有。 鑒於此,您可以這樣做:
TimeSpan newEventStartTime = TimeSpan.ParseExact(Start_Time, @"hh\:mm", CultureInfo.InvariantCulture);
如果您需要幫助,可以查看自定義TimeSpan
格式字符串 MSDN頁面,但我絕對同意這不是世界上最好記錄或最容易克服的錯誤。
這很可能與你無關,但我只是在良好的實踐中包括它。 只有當你真的想保留那個確切的格式字符串時才會這樣。 如果你可以稍微寬松一點,你可以改用"c"
格式代號。 這允許從傳入的字符串中保留更多細節。 這些選項之間的選擇實際上取決於您和您希望使用它的環境。 但同樣,因為你甚至認為首先使用ParseExact
不是Parse
,我懷疑上面給出的帶有@"hh\\:mm"
的例子就是你要找的。
嘗試這個。 它工作正常。 如有任何其他疑問請告訴我。
TimeSpan newEventStartTime = TimeSpan.ParseExact("12:44",@"hh\:mm",CultureInfo.InvariantCulture);
請參閱dotnetfiddle鏈接https://dotnetfiddle.net/In71Rh
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.