我想做一个计时器,并在标签中打印值。我知道:
label1.Text = (DateTime.Now - startDate).ToString("HH:mm:ss");
但我收到一个FormatException
错误。我的代码出了什么问题?
DateTime.Now - startDate
返回的是TimeSpan
,而不是DateTime
。
您需要用反斜杠转义冒号,并在TimeSpan.ToString
:中使用小写hh
TimeSpan diff = DateTime.Now - startDate;
label1.Text = diff.ToString("hh\:mm\:ss");
但请注意,小时永远不会超过23小时,最大值为23:59:59
。如果您还想显示日期,则必须使用类似"dd\:hh\:mm\:ss"
的格式。
label1.Text = DateTime.Compare(Convert.ToDateTime(startDate.Text), Convert.ToDateTime(ToDate.Text,"hh\:mm\:ss"));