DateTime.ToString FormatException错误

时间:2014-04-29 08:57:57

标签: c# datetime

我想做一个计时器并在标签中打印该值。我这样做:

label1.Text = (DateTime.Now - startDate).ToString("HH:mm:ss");

但我收到FormatException错误。我的代码有什么问题?

2 个答案:

答案 0 :(得分:3)

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"等格式的日子。

答案 1 :(得分:0)

label1.Text = DateTime.Compare(Convert.ToDateTime(startDate.Text), Convert.ToDateTime(ToDate.Text,"hh\\:mm\\:ss"));