2013-08-05 139 views
0

我的日期格式爲2013-08-05 12:45:56。但我想在數據庫中以格式2013-08-05 00:00:00存儲。sql server 2008中的日期格式

我想要的是,我不想在數據庫中節省時間。

我使用:

cmd.Parameters.AddWithValue("@VoucherDate", VoucherDate.Date); 

但它畢竟是節省時間。有什麼建議麼?

回答

-1

嘗試使用:

VoucherDate.Date.ToShortDateString(); 
+0

非常感謝你。這是工作! –

+1

這不是一個最佳解決方案,其原因是因爲日期應該作爲日期進行存儲(實際上是一個3字節的數字)。這個答案將日期轉換爲一個字符串,這個字符串對於所有目的而言都是錯誤的,只是表示。請參閱@christiandev的答案。 –

+0

@MikaelÖstberg你說得對,我剛纔展示了一個快速的解決方案,'ToShortDateString'應該用於演示文稿pourpouse,如你所述 – Daniele

2

如果您使用SQL 2008或以上,那麼你可以使用Date數據類型

http://msdn.microsoft.com/en-us/library/bb675168.aspx

如果你想獲得日期零件只在C#,那麼你可以使用Date屬性,例如

var fullDate = DateTime.Now; 
var dateOnly = fullDate.Date; 

但是,如果你只是希望存儲日期部分,然後再考慮改變SQL數據類型

0

即使你有日期,或日期時間列在數據庫中,當你讀數據返回到您的程序,您可以通過給正確DATATIME格式字符串格式化顯示日期。

dt.ToString("yyyy-MM-dd),那麼你不會得到任何時間,輸出

0

有一次,我也曾經有過類似的問題,與此answer的幫助下,我固定它。

C#代碼:

cmd.Parameters.AddWithValue("VoucherDate", VoucherDate.Date); 

調整你的SQL查詢類似下面,

DATEADD(dd, 0, DATEDIFF(dd, 0, @VoucherDate))