2014-05-06 115 views
0

在屏幕截圖中,DateTime.ToString()方法正在被調用,但日期沒有以預期格式獲得格式(如在Quick Watch widnow中所見)。有什麼問題嗎?DateTime.ToString()未按預期方式工作

enter image description here

+2

你給它一個明確的格式,然後期待它使用區域呢? –

+0

是的。看起來像史詩般的程序員失敗。你不會調用「ToString()」,你可以調用一個超載來說明你想要如何格式化這個。 – TomTom

+0

你想要什麼格式? – frenchie

回答

4

你在你的ToString格式使用/作爲分隔符。但是你現在的文化似乎有-作爲日期分隔符。這就是你看到差異的原因。您可以通過CultureInfo.InvariantCultureToString

像:

DateTimeObject.ToString("MM/dd/yyy HHmmss", CultureInfo.InvariantCulture) 
+1

,我們必須獲勝。+1 –

+0

@Habib,爲什麼'/'變成'-'。儘管被明確規定,爲什麼它們在內部被改變? – Brij

+0

@Brij [這裏是文檔](http://msdn.microsoft.com/en-us/library/8kb3ddd4%28v=vs.110%29.aspx#dateSeparator) –

0

DateTime.ToString取代/與當前日期分離器和:與當前時間分隔符。您正在傳遞格式,並且與「區域」設置中的內容不匹配。

要使用區域設置,請使用ToShortDateString()ToShortTimeString()

0

您可以使用此:

DateTime.now.ToString("yyyyMMddHHmmss"); 

DateTime.now.ToString("mm-dd-yyyy");