2012-01-03 122 views
3

我的日期顯示爲2011年10月18日3:12:33c#只顯示DateTime的時間部分

如何獲取此日期時間的時間部分?

我正在使用C#。

我想:

 string timeval = PgTime.ToShortTimeString(); 

,但沒有工作的智能感知僅表現的ToString();

+0

什麼是'PgTime'讀了? – David 2012-01-03 20:40:52

+0

什麼數據類型是PgTime? – DaveShaw 2012-01-03 20:41:10

+3

你沒有給我們足夠的上下文。什麼是編譯時間類型的'PgTime'?您使用該代碼時遇到了哪些編譯器錯誤?請閱讀http://tinyurl.com/so-hints – 2012-01-03 20:41:15

回答

9

假設

DateTime PgTime; 

您可以:

String timeOnly = PgTime.ToString("t"); 

其他格式選項can be viewed on MSDN

另外,如果你想它在一個較大的字符串相結合,則可以執行:

// Instruct String.Format to parse it as time format using `{0:t}` 
String.Format("The time is: {0:t}", PgTime); 

// pass it an already-formatted string 
String.Format("The time is: {0}", PgTime.ToString("t")); 

如果PgTimeTimeSpan,你有a few other options

TimeSpan PgTime; 

String formattedTime = PgTime.ToString("c"); // 00:00:00 [TimeSpan.ToString()] 
String formattedTime = PgTime.ToString("g"); // 0:00:00 
String formattedTime = PgTime.ToString("G"); // 0:00:00:00.0000000 
+0

另外http://msdn.microsoft.com/en-我們/庫/ system.datetime.toshorttimestring(v = VS.100)的.aspx – asawyer 2012-01-03 20:42:03

2

如果您想要一個格式化的字符串,只需使用.ToString(format),只指定時間部分。如果你想要的實際時間,使用.TimeOfDay,這將從午夜的TimeSpan

0
DateTime test = DateTime.Now; 
      MessageBox.Show(test.ToShortTimeString()); 

只產生DateTimne值的時間部分。 你能告訴我們如何聲明PgTime嗎?

0
DateTime PgTime = new DateTime(); 
     var hr = PgTime.Hour; 
     var min = PgTime.Minute; 
     var sec = PgTime.Second; 

     //or 

     DateTime.Now.ToString("HH:mm:ss tt") gives it to you as a string.