DateTime.Minute returns 5 而不是 05

DateTime.Minute returns 5 instead of 05

下面的代码 returns 5 in MessageBox 因为分钟是“05”。我已经使用 "mm" 何时用前导 0 显示它。为什么这不起作用?

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

startTime.Minute returns 整数分钟,所以这就是为什么,你得到了 5

使用 startTime.Minute.ToString("D2");

您显示的是 ders.startTime.Minute,而不是格式化字符串中的任何内容。由于 Minute 是一个整数,因此输出为 5。使用

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

将仅输出日期时间的 Minute 值,格式为前导零。

您可能想在对消息框的调用中添加格式字符串。

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

您可以了解更多关于它们的信息 on the msdn