2013-08-21 19 views
1

我試圖讓這條作業線:vb.NET(對於ASPX頁面):解析字符串爲日期

MyDateTime = DateTime.ParseExact("2/8/2013 11:59:00 AM", "yyyy-mm-dd hh:mm:ss", System.Globalization.DateTimeFormatInfo.InvariantInfo) 

我在上面的格式越來越date/time字符串從電子表格和我無法控制。有一噸的在線幫助,包括這個網站上,關於字符串轉換爲日期,我已經試過所有,但我不斷收到此錯誤:

"System.FormatException: String was not recognized as a valid DateTime." 

我「米只是準備寫我自己的自定義分析器,但似乎並不很優雅。是否有一個字符串轉換像我到date/time格式我需要什麼?

感謝所有幫助一些內置的方式。

回答

1

您的格式字符串錯誤。您輸入的日期格式爲d/M/yyyy hh:mm:ss tt,但要求格式爲yyyy-mm-dd hh:mm:ss。這兩個不完全匹配,所以DateTime.ParseExact相當正確地拋出你的例外。

嘗試:

MyDateTime = DateTime.ParseExact("2/8/2013 11:59:00 AM", "d/M/yyyy hh:mm:ss tt", System.Globalization.DateTimeFormatInfo.InvariantInfo) 

這告訴它期待以下特點:

Integer from 1 through 31 (depending on the length of the month) 
/character 
Integer from 1 through 12 
/character 
4 digit year 
Space 
Integer from 1 through 12 
: character 
Integer from 00 through 59 
: character 
Integer from 00 through 59 
Space 
Two character meridian specifier ("AM" or "PM") 

有關日期時間格式字符串的更多信息,請this MSDN page

+0

Doggon它,我在兩個不同的網站上閱讀ParseEstract函數的指示,並且我誤解了它兩次。我的不好,回答是盯着我。謝謝。 – Stanton

+0

@Stanton沒問題。我們都犯錯誤:D – Adrian

0

我認爲你需要改變字符串格式匹配你傳遞的內容。你似乎正在傳遞更多類似的內容:

"d/M/yyyy hh:mm:ss" 

試試看看它是如何工作的。請注意,您需要使用MM幾個月 - 「分鐘」用於分鐘。

+0

謝謝您的回答。我是個傻瓜(見上面的評論)。 – Stanton