2013-12-16 162 views
0

我想從Asp.Net中的數據庫中檢索DateTime數據類型數據。這裏是代碼:格式日期時間數據顯示在網格視圖

DateTime date = DateTime.Parse(dr["packingDate"].ToString()); 

但是,問題是我檢索的日期以這種格式顯示:26/11/2013上午12.00。我只想顯示日期,但不是時間。我試圖這樣做:

DateTime date = DateTime.Parse(dr["packingDate"].ToString()); 
string dateStr = date.ToString("dd/M/yyyy", CultureInfo.InvariantCulture); 

但是,它不工作在我的網格視圖。我想知道爲什麼這樣?

在此先感謝。

+2

你可以只使用'DateTime.ToShortDateString'這個(MSDN:http://msdn.microsoft.com/en-us/library/system.datetime.toshortdatestring(v=vs.110).aspx) – seph

+0

你能否爲你的變量名使用整個單詞?讀這個問題的人會很有禮貌。謝謝。 –

回答

2

你可以在GridView控制格式,樣品:

<asp:BoundField DataField="packingDate" HeaderText="PackingDate" 
        DataFormatString="{0:dd-M-yyyy}" /> 
+0

謝謝!有用!幾乎忘記可以在源代碼格式化它。 –

2

使用內置的爲僅僅指剛日期值的字符串函數...

DateTime.ToShortDateString(); 
2

選擇從corect類型數據庫,所以在這種情況下,datetime。然後你在你的DataTable一個DateTime您可以用DataRowField擴展方法Cast:

DateTime date = dr.Field<DateTime>("packingDate"); 

如果你只是想diplay日期:

string dateOnly = dr.Field<DateTime>("packingDate").ToShortDateString(); 

string dateOnly = dr.Field<DateTime>("packingDate").ToString("d"); 

string dateOnly = dr.Field<DateTime>("packingDate").ToString("dd/MM/yyyy", CultureInfo.InvariantCulture); 
+0

好的,非常感謝 –