2012-06-04 32 views
2

假設你有UTC時間字符串轉換爲本地時間:取下當地時間秒,但保留格式

utcTimeString.ToLocalTime().ToString(); => "01/31/2012 12:00:00 PM" 

如何從結果字符串中刪除秒,但保留格式(設置在手機設置?)

謝謝!

+0

的可能的複製(https://stackoverflow.com/questions/3316083/how-to-exclude-seconds-from-datetime [如何從則DateTime.ToString()排除秒] -tostring) –

回答

3
utcTimeString.ToLocalTime().ToString("MM/dd/yyyy hh:mm tt"); 

http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx

作爲替代方案,可以使用

String.Format("{0:d} {0:t}",utcTimeString.ToLocalTime()); 
String.Format("{0:g}",utcTimeString.ToLocalTime()); 

http://msdn.microsoft.com/en-us/library/az4se3k1.aspx

+0

據我所知,這將始終輸出由/分開的日期,這是我不想要的 - >我想保留系統(電話)設置中的分隔符集。 – user969153

+0

我發佈的備選方案將使用針對日期和時間的文化特定信息進行輸出,因此它甚至會根據文化切換月/日,並且基本上是等效的。 – saluce

+0

對格式字符串進行硬編碼會丟失本地格式,並且似乎與問題的要求完全相反。下面Steve Danner的回答比較好。 – SilverSideDown

5

爲了保持當前的文化信息,你可以這樣做:

utcTimeString.ToLocalTime().ToShortDateString() + 
" " + 
utcTimeString.ToLocalTime().ToShortTimeString(); 
6

我會去

var date = utcTimeString.ToLocalTime(); 
date = date.AddSeconds(-date.Second); 
string yourStr = date.ToString(); 
+0

「date.AddSeconds(-date.Second);」是我今天看到的最聰明的一段代碼...非常簡單,如果你想在DateTime變量類型中保留日期和時間......我就是最好的解決方案。 –