2011-10-18 87 views
0

我正在使用澳大利亞時區。當我嘗試使用Parse Exact時,它總是拋出異常。如何解決此問題。請注意我需要一個在澳大利亞時區工作的解決方案。DateTime.Parse問題澳大利亞時區

DateTime fdt = DateTime.ParseExact(FromDate, "MM/dd/yyyy", null) 
+2

澳大利亞通常使用「DD/MM/YYYY」格式。你的'FromDate'文字是什麼樣的? – Enigmativity

+0

拋出什麼異常,你試圖分析什麼價值?請注意,「DateTime.ParseExact」根本不會使用時區,除非您指定使用其中的一種格式,據我所知。 –

+0

什麼例外?爲什麼文化'空'? –

回答

0

如果你使用像「MM/DD/YYYY」格式化,解析無關與時區的。它只會使用的格式從格式解析日期。在這種情況下月/日/年

+0

如何通過添加澳大利亞時區來修改此代碼 – user731060

+1

如果不使用格式化字符串,它將採用當前線程的區域設置。但我認爲你正在尋找像「dd/MM/yyyy」這樣的格式字符串。 – Peter

+0

我也試過System.Globalization.CultureInfo provider = System.Globalization.CultureInfo.InvariantCulture; String format =「M/dd/yy」; fdt = DateTime.ParseExact(FromDate,「MM/dd/yy」,null); 那時候我也得到了一個診斷 {「日曆時間在日曆System.Globalization.GregorianCalendar中不被支持。」} – user731060

0

只要您傳遞給ParseExact方法null IFormatProvider參數值,系統嘗試使用DateTimeFormatInfo.CurrentInfo值解析日期字符串。如果您的機器文化具有與'/'不同的DateTimeFormatInfo.DateSeparator(即點字符),則使用斜線作爲日期分隔符的日期字符串不能被解析。

嘗試使用此:DateTime.ParseExact("10/30/11", "MM/dd/yy", CultureInfo.InvariantCulture);或情況下,你肯定知道這串在澳大利亞的格式,你可以使用這個:DateTime.ParseExact("10/30/11", "MM/dd/yy", CultureInfo.GetCultureInfo("en-AU"))

相關問題