2014-05-21 68 views
2

我想在c#中將字符串轉換爲日期時間。 字符串datestring = 2013年3月18日10:54:07.679DateTime.ParseExact在c#中省略毫秒?

  1. 我試圖DateTime dt=DateTime.ParseExact(datestring, "yyyy/MM/dd HH:mm:ss.fff",null); 結果是{2013年3月18日上午10點54分07秒}

  2. 我試圖DateTime.TryParseExact(datestring,"yyyy/MM/dd HH:mm:ss.fff",CultureInfo.InvariantCulture,DateTimeStyles.None,out dttt); 結果是{2013年3月18日10:54:07}

在上述兩種情況下,其ommitting millisecons(679)。

如何通過保持毫秒將其正確地轉換爲日期時間?

+3

如果你想看到毫秒,那麼你必須以這種方式格式化日期時間。不,調試器沒有。這當然不是一個真正的問題。 –

回答

8

這並不是說您只是通過調試器進行檢查,調試器使用AM或PM顯示它,但它不會顯示毫秒級的部分。

試試這個:

DateTime dt=DateTime.ParseExact(datestring, "yyyy/MM/dd HH:mm:ss.fff",null); 
Console.WriteLine(dt.ToString("yyyy/MM/dd HH:mm:ss.fff")); 

編輯:從您的評論But I need the answer in Datetime instead of string

你已經一個DateTime包括MilliSeconds只是調試器無法顯示,因爲 (如Ant P在評論中提及)調試器調用ToString()方法的無參數超載,該方法顯示DateTime沒有MilliSeconds。

+1

具體來說,調試器只是調用無參數的ToString重載,格式如問題所示。 –

+0

但我需要在Datetime而不是字符串的答案。 – user3661657

+0

@ user3661657'DateTime' *已經有*毫秒。 *只是不是調試器顯示給你的字符串表示。* –