我想在TimeSpan
中显示MessageBox
,但收到错误消息:
DateTime date1 = new DateTime(byear, bmonth, bday, 0, 0, 0);
DateTime datenow = DateTime.Now;
TimeSpan age = datenow - date1;
MessageBox.Show(ToString(age));
Error 1 No overload for method 'ToString' takes '1' arguments
如何使用TimeSpan
输出消息框?
答案 0 :(得分:11)
MessageBox.Show(age.ToString());
虽然你可能不喜欢这个结果。如果你想要一种特定的格式,你必须自己实现它。
答案 1 :(得分:3)
这不会很好看,TimeSpan在.NET 3.5及更早版本中缺少一个像样的ToString()覆盖。通过使用DateTime.ToString()方法解决这个问题:
string txt = new DateTime(Math.Abs(age.Ticks)).ToString("h:mm:ss");
if (age.Ticks < 0) txt = "-" + txt;
MessageBox.Show(txt);
答案 2 :(得分:2)
你必须做age.ToString()
答案 3 :(得分:1)
或者你可以Convert.ToString(age)
来保持现在的格式。