2013-11-03 75 views
0

我有一個問題,PersianDateCalendar類和ArgumentOutOfRangEexception ... 這裏是我的代碼:PersianDateCalendar和異常

DateTime get = Convert.ToDateTime(TextBox.Text); 
PersianCalendar p = new PersianCalendar(); 
DateTime set = new DateTime(p.GetYear(get), p.GetMonth(get), p.GetDayOfMonth(get)); 

一些日期它的工作,對一些人來說是不工作!!!! 例如,當我寫7/22/2006或5/20/2006時,它會拋出一個ArgumentOutOfRangeException ...我知道這個異常是什麼,它的意思是......但問題是它在現實世界中沒有超出範圍! ! 是嗎? 我做錯了什麼?或者它是課堂上的錯誤?

+0

您的區域設置最有可能放在本月前幾天,請嘗試'22/7/2006'。 –

+0

你確定它是'7/22/2006'嗎?它必須介於['PersianCalendar.MinSupportedDateTime'](http://msdn.microsoft.com/zh-cn/library/system.globalization.persiancalendar.minsupporteddatetime(v = vs.110).aspx)和['MaxSupportedDateTime' ](http://msdn.microsoft.com/en-us/library/system.globalization.persiancalendar.maxsupporteddatetime(v = vs.110)的.aspx)。 –

+0

我敢肯定日期......我有數百個這樣的日期向你展示...... – Kourosh

回答

0

檢查你的文化,看起來像它會將其作爲DD/MM/YYYY

+0

這不會導致'ArgumentOutOfRangeException'而是'FormatException'。 –

0

我也有這個問題。這是因爲當你轉換爲波斯日期時,你的結果是....../../31,而公曆日曆的一些月份沒有31 st一天。您應該將結果作爲字符串而不是DateTime返回。