2012-01-03 2 views
3

У меня есть дата, которая показывает вверх как 10/18/2011 3:12:33 PMC# показать только часть времени DateTime

Как я могу получить только время часть этой даты-времени?

Я использую C#.

Я пробовал:

 string timeval = PgTime.ToShortTimeString(); 

, но это не сработало, как Intellisense показал ToString();

+0

Что такое 'PgTime'? – David

+0

Какой тип данных PgTime? – DaveShaw

+3

Вы не дали нам достаточно контекста. Каков тип времени компиляции 'PgTime'? Какую ошибку компилятора вы получили с этим кодом? Пожалуйста, прочитайте http://tinyurl.com/so-hints –

ответ

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")); 

Если PgTime является TimeSpan, у вас есть 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

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. 
0

Ничего не найдено о классе с именем PgTime. Теперь сделайте примерно DateTime.

Попробуйте

DateTime instance = DateTime.Now   ; // current date/time 
string time  = instance.ToString("t") ; // short time formatted according to the rules for the current culture/locale 

можете прочитать на Standard Date and Time Format Strings и Custom Date and Time Format Strings

Смежные вопросы