2013-08-21 58 views
5

我的代碼沒有時間:輸出日期時間日期,但只使用CultureInfo的

dateObject.Value.ToString(Model.Culture) 

dateObjectDateTime?類型,而Model.CultureCultureInfo類型。

的(培養依賴性)輸出:

17/08/1960 00:00:00

我想,而不必指定任何格式提供以除去00:00:00一部分。 Model.Culture應包含已在其他地方的日期格式(但在哪裏以及如何?)我想指定而不是以隨時輸出。

我正在考慮將DateTime轉換爲Date對象,但不幸的是,在C#中沒有這樣的對象。 直接對日期格式進行硬編碼會導致無法創建動態和文化相關的程序。

+0

我不不明白。 'CultureInfo' *是'IFormatProvider'。你或你不想通過嗎? –

+0

還是你的意思是「格式字符串」而不是「格式提供者」? –

+0

是的,我的意思只是格式提供者,但不是格式字符串。 – Saturnix

回答

5

「而無需指定任何格式提供」 ...... 「直接硬編碼的日期格式將導致不可能性創造一個充滿活力和文化依賴的計劃。「

您可以使用能夠提供格式字符串超載文化:

string result = dateObject.Value.ToString("d", Model.Culture); 

或者如果需要/可能你改變文化:

System.Threading.Thread.CurrentThread.CurrentCulture = Model.Culture; 
string result = dateObject.Value.ToShortDateString(); 
0

嘗試以下操作使用字符串格式化

dateObject.ToString("dd/MM/yyyy"); 

DATE FORMATS

+2

_「無需指定任何格式提供程序」_ –

0

使用ToShortDateString它使用當前線程的文化。

DateTime dateObject = DateTime.Now; 
string s = dateObject.ToShortDateString(); 
1

也許您正在尋找這樣的:

dateObject.Value.ToString("d", Model.Culture) 
+0

是的,正好 - 謝謝! – Saturnix

相關問題