2017-07-25 53 views
0

我有一個日期時間字符串,我試圖解析到一個DateTime對象,但目前它不工作。我的兩個DateTime對象從不設置它們的值。我相信這是非常簡單的事情,我只是沒有看到。有沒有人看到這個代碼有什麼明顯的錯誤?DateTime.TryParseExact不解析

string Issued = "Tue 25 Jul 2017 16:47:38"; 
string Expires = "Tue 25 Jul 2017 18:47:38"; 

string format = "ddd dd MMM yyyy HH:mm:ss"; 
DateTime dIssued; 
DateTime dExpires; 
DateTime.TryParseExact(Issued, format, CultureInfo.InvariantCulture, DateTimeStyles.None, out dIssued); 
DateTime.TryParseExact(Expires, format, CultureInfo.InvariantCulture, DateTimeStyles.None, out dExpires); 
+3

你是如何確定'DateTime's的價值?我看到它的工作原理:https://dotnetfiddle.net/s9JVz7 –

+1

你的'Issued'和'Expired'字符串來自哪裏?那裏有沒有可打印的字符?看起來像但不是空間的東西? – krillgar

+1

我跑的程序,似乎它工作正常? – Sach

回答

1

我跑你的代碼,它似乎工作正常。所以我假設你爲了模範而努力編碼這些字符串。考慮在你的代碼中放置一個break語句,在那裏填充這兩個值並檢查它們以查看它們的內容。任何多餘的空格或字符都會引發錯誤。

嘗試.trim();也在您的字符串上。這基本上消除在開始任何空白和結束的字符串,因此它會改變我的字符串,像這樣:

" cat " -> "cat"

+0

Ahhhh這正是它的原因。有一個額外的空間字符,我沒有注意到在調試器中。謝謝! – mituw16

+1

@ mituw16調試非常有幫助。沒有它,正確編程是非常困難的。 –

+1

我完全同意..我一直盯着調試器中最後45分鐘的值,並且完全錯過了字符串中的額外空間。需要第二雙眼睛:) – mituw16