2

下面的代码返回 5 inMessageBox因为分钟是“05”。我在用前导 0 显示它时使用了“mm”。为什么这不起作用?

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

3 回答 3

7

您正在显示ders.startTime.Minute,而不是格式化字符串中的任何内容。因为Minute是一个整数,所以它输出为5。利用

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

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

于 2015-08-28T16:55:53.543 回答
4

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

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

于 2015-08-28T16:55:15.003 回答
0

您可能希望向消息框的调用添加格式字符串。

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

您可以在 msdn 上找到有关它们的更多信息

于 2015-08-28T17:00:02.430 回答