2014-05-09 21 views
0

我是新來的編程在asp.net,我努力格式化日期,我設法從我們的CRM內容頁的生活日期拉。我已經寫了設法拉並顯示該網頁的創建日期下面的代碼:從asp.net中的以下字符串格式化日期

TheDate = DR["LiveDate"].ToString(); 

但它格式化像這樣的日期和時間:我如何修改我的上述

13/11/2012 00:00:00 

代碼只顯示日期,像這樣:

Tuesday, 13 November 2012 

或者,只是沒有時間

13/11/2012 

謝謝,

回答

0

我假設DRDataRow,不是嗎?

如果DR["LiveDate"]已經是DateTime列,請不要通過ToString將其轉換爲本地化字符串。只需通過Field擴展方法將其丟因此,例如:

DateTime dt = DR.Field<DateTime>("LiveDate"); 

如果不是,你必須把它解析到DateTime一個DateTime而是一個字符串:如果你想Tuesday, 13 November 2012作爲結果使用

DateTime dt = DateTime.Parse(DR.Field<String>("LiveDate")); 

string result = dt.ToString("dddd, dd MMMM yyyy", CultureInfo.InvariantCulture); 

如果你想使用13/11/2012

string result = dt.ToShortDateString(); 

string result = dt.ToString("d"); 

如果你的文化使用/作爲分隔

否則

string result = dt.ToString("dd/MM/yyyy", CultureInfo.InvariantCulture); 

進一步的信息:http://msdn.microsoft.com/en-us/library/8kb3ddd4(v=vs.110).aspx

+0

儘管驗證了此代碼,但它在調試預覽頁面時不起作用。日期保持相同的格式。 我也有問題,最後一點「CultureInfo.InvariantCulture」 - 這並沒有顯示在intellisense。也許我還沒有宣佈什麼。 – GBrooksy

+0

@GBrooksy:您必須在文件頂部添加'using System.Globalization;'或完全限定它'System.Globalization.CultureInfo.InvariantCulture'。我不知道「調試預覽頁面」的含義。 –

+0

感謝您的信息,我已經完成了上述工作,現在的日期根本不顯示。 「調試預覽頁面」=預覽結果。 – GBrooksy

0

關於第二個問題,請嘗試

TheDate = DR["LiveDate"].ToString("dd/MM/yyyy") 
+0

如果文件實際不同,它將用文化的實際日期分隔符替換所有'/'(請參閱:http://msdn.microsoft.com/en-us/library/8kb3ddd4(v=vs.110).aspx#dateSeparator) 。 –

+0

這不爲我驗證,我得到......「錯誤:方法沒有超載'ToString'需要1個參數」 – GBrooksy

+2

@GBrooksy:因爲DR [「LiveDate」]'是一個對象而不是'DateTime' –