2013-02-22 32 views
1

我需要轉換一個零字符串說「00000000」爲日期,並在數據庫中插入,但我不能使用C#如何插入零日期?

Date.ParseExact("00000000","yyyymmdd",null); 

還與CultureInfo.InvariantCulture

收到以下異常嘗試:

的在日曆System.Globalization.GregorianCalendar中不支持該字符串表示的DateTime。

+6

沒有00-00-0000日期。最短日期是01-01-0001。 – 2013-02-22 08:59:21

+1

Zeroary的零號發生了什麼,0000?我認爲他們經常更換日曆。 [更嚴重的是:]在內部,'DateTime'從0001年1月1日開始計數,並且得到_ticks_ count爲零的'DateTime',可以使用'default(DateTime)',它相當於'new DateTime )'。碰巧還存在一個「靜態」字段,其值爲「DateTime.MinValue」。數據庫中的表示可能會有很大不同,具體取決於您使用的數據庫。 – 2013-02-22 09:27:43

回答

7

不,因爲有一個DateTime的最小值,那當然不是0.您可以使用一個可爲空的DateTime並使您的字段在數據庫中也是可以爲空的。

要查看的最小值,你可以嘗試一下本作學術目的:對可空類型

// Define an uninitialized date. 

DateTime date1 = new DateTime(); 
Console.Write(date1); 
if (date1.Equals(DateTime.MinValue)) 
Console.WriteLine(DateTime.MinValue.ToString() + " (Equals Date.MinValue)"); 
// The example displays the following output: 
// 1/1/0001 12:00:00 AM (Equals Date.MinValue) 

更多信息: http://msdn.microsoft.com/en-us/library/1t3y8s4s(v=vs.80).aspx

+0

我想說剛纔... – TGlatzer 2013-02-22 09:00:04

+0

總是有人這樣更快:( – Evelie 2013-02-22 09:03:24

+0

即時通訊實際上通常慢 – Freeman 2013-02-22 09:04:15