我想做一个计时器并在标签中打印该值。我这样做:
label1.Text = (DateTime.Now - startDate).ToString("HH:mm:ss");
但我收到FormatException
错误。我的代码有什么问题?
答案 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"));