2010-04-12 151 views
-1

我想顯示在一個TimeSpanMessageBox我得到一個錯誤:MessageBox.Show(時間跨度)

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一個消息?

+1

MessageBox.Show(age.ToString()); – 2010-04-12 19:48:33

回答

1

,或者你可以做Convert.ToString(age)跟上,你現在有格式。

11
MessageBox.Show(age.ToString()); 

雖然你可能不喜歡結果。如果你想要一個特定的格式,你必須自己實現它。

+1

更改/ now/- >/not / – ChrisF 2010-04-12 19:53:26

2

你要做的age.ToString()

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