2009-05-21 1 views

ответ

36

Вы не должны использовать DateTime для представления промежутка времени - для этого используйте TimeSpan. И в таком случае, вы бы использовать это:

TimeSpan ts = TimeSpan.FromMinutes(90); 

Если вы настаиваете, что вам нужно DateTime, вы можете сделать следующее:

DateTime dt = DateTime.Now.Date; // To get Midnight Today 
dt = dt.AddMinutes(90); // to get 90-minutes past midnight Today. 

Причина вы, вероятно, не хотят использование DateTime, тем не менее, заключается в том, что он (точно названный) объединяет концепцию Date с концепцией Time. Ваш вопрос предполагает, что вы планируете игнорировать компонент даты, поэтому в интересах использования правильного инструмента для работы я предлагаю TimeSpan.

+0

Но мне действительно нужно это преобразовать в DateTime, иначе это вызовет ошибку! – user95542

+0

Это позор - хорошо. Тогда используйте мое второе предложение, и вам должно быть хорошо идти. –

1

Или, если вы пытаетесь добавить время к DateTime только с датой:

DateTime dt = dateTime.AddMinutes(90); 
+5

DateTime неизменен - ​​вызов AddMinutes() возвращает новое DateTime с выполненным добавлением. Игнорирование возвращаемого значения приведет к тому, что ничего не произошло. –

1


Если вы используете C# 4 (VS 2010) вам нужен этот фрагмент:

TimeSpan ts = TimeSpan.FromSeconds(90); 
txtDate = string.Format("Full time: {0}", new DateTime(ts.Ticks).ToString("HH:mm:ss")); 

это выход

Full time: 00:01:30 
Смежные вопросы