我找过了,但好像遗漏了什么。我正在试着显示一个数字时钟,当你点击开始按钮时,它就会开始计时。这个问题很简单。我不明白的是,如果我想从00:00:05:00开始计时,当时钟到达第一秒时,它显示的是00:00:51:00,而不是00:00:06:00。我使用的代码是
TimeSpan ts2 = sw2.Elapsed;
currentTime2 = String.Format("{0:}"+hour.ToString("D1")+":{1:}"+min.ToString("D1")
+":{2:}"+sec.ToString("D1")+":{3:}"+ms.ToString("D1"),
ts2.Hours, ts2.Minutes, ts2.Seconds, ts2.Milliseconds / 10);
txtClock2.Text = currentTime2;
其中,在第一种情况下,小时、分钟、秒、毫秒是整型数,在第二种情况下,除整型秒值为5外,其他整型数均为0。
有什么想法吗?
发布于 2018-06-24 06:03:15
一种更简洁的解决方案是在TimeSpan
实例上使用ToString
,并使用格式字符串来获得所需的输出。
Here是一个链接,显示了创建所需格式的各种格式的一些示例。
发布于 2018-06-25 03:47:01
TimeSpan ts1 = sw1.Elapsed;
txtClock1.Text = String.Format("{0:dd\\.hh\\:mm\\:ss\\:ff}", ts1 + tsDiff);
其中,tsDiff是我希望时钟开始的时间量,表示为TimeSpan
这是最好的办法。
https://stackoverflow.com/questions/51005242
复制相似问题