2015-08-28 2 views
2

Код ниже возвращает 5 в MessageBox, потому что минута «05». Я использовал «мм», когда показывал его с ведущим 0. Почему это не работает?DateTime.Minute возвращает 5 вместо 05

DateTime date = new DateTime(d.startTime.Month,d.startTime.Day,d.startTime.Year,15,05,00); 
String s = date.ToString("MM.dd.yyyy HH:mm"); 
d.startTime = Convert.ToDateTime(s); 
MessageBox.Show(d.startTime.Minute.ToString()); 

ответ

7

Ты показываешь ders.startTime.Minute, а не что-нибудь из отформатированной строки. Так как Minute представляет собой целое число, которое оно выводит как 5. Используйте

ders.startTime.ToString("mm")); 

, который будет выводить только значение DateTime Minute, отформатированный с ведущим нулем.

4

startTime.Minute возвращается минута в целое число, так вот почему вы получили 5

Использование startTime.Minute.ToString("D2");

+0

как я могу получить 05 тогда? – Kaan

+0

Формат, '.ToString (« 00 »)' самый простой способ или просто форматировать 'DateTime', используя' 'mm" '. –

0

Возможно, вы захотите добавить строку формата к вашему вызову в окно сообщения.

MessageBox.Show(d.startTime.Minute.ToString("00")); 

Вы можете узнать больше о них on the msdn

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