2013-07-10 64 views
0

我知道這樣的問題被重複,但我沒有得到任何result.I必須螺旋日期更改爲公曆日期,這是我的方法如何返回零日期時間

public static DateTime ShamsiToMiladi(string shmasi) 
{ 
    DateTime? Dt = null; 
    if (shmasi != "") 
    { 
     System.Globalization.PersianCalendar persian = new System.Globalization.PersianCalendar(); 
     char[] spChar = { '/' }; 
     string[] splited_shamsi = shmasi.Split(spChar, 3); 
     Dt = persian.ToDateTime(int.Parse(splited_shamsi[0]), int.Parse(splited_shamsi[1]), int.Parse(splited_shamsi[2]), 12, 12, 12, 12); 

    } 
    return Dt; 
} 

sahmsi是來自於一個參數文本框。我該如何返回Dt? 感謝您的幫助

回答

0

由於DateTime實際上是一個建立在長整數上的結構,因此無法賦予其空值。

但是,如果你需要這樣的選擇,宣稱它作爲一個爲空的日期時間正是如此:

DateTime? ThisDate = null; 

如果你返回null的日期時間,您的呼叫方使用作爲前檢查空值表達式中的常規DateTime。

作爲一般規則,新聲明的常規DateTime的值爲DateTime.MinValue('01/01/0000'),您可以對此進行測試。

+0

謝謝。我測試這個:DateTime Dt = DateTime.MinValue;但我收到這個錯誤SqlDateTime溢出。必須介於1/1/1753 12:00:00 AM和12/31/9999 11:59:59 PM之間。 – Noora

+0

SQL DateTime具有不同的範圍。當你把它寫回數據庫時,你必須做如下事情:'MyTable [currentRow] [dateColumn] =(dt == DateTime.MinValue)? DbNull.Value:dt;' – Curt

+0

謝謝你,但這讓我更加困惑。 – Noora