如何使用c#定时器显示24小时后的天数



我在我的项目中使用了System.Threading.Timer,像下面的代码:

async Task Timer()
{
timer = new System.Threading.Timer((_) =>
{
TimeSpan span = DateTime.Now.Subtract(ed);
Time = (TimeSpan.FromTicks(span.Ticks).ToString()).Substring(0, 8);
InvokeAsync(() =>
{
StateHasChanged();
});
}, null, 0, 1000);
}

我应该如何改变它显示定时器在天,24小时后?提前感谢

时间跨度滚动到天的水平,他们不会停止计算小时。如果您有一个代表23:59:59的时间跨度,并且您在其上添加了秒,那么您得到的不是24:00:00而是1 day 00:00:00

如果你想让它永远以小时为单位计算,你必须自己把天乘以小时

$"{t.Days*24+t.Hours}:{t.Minutes}:{t.Seconds}"

你也可以把总小时数的小数部分去掉

$"{(int)t.TotalHours}:{t.Minutes}:{t.Seconds}"
$"{t.TotalHours:F0}:{t.Minutes}:{t.Seconds}"

相关内容

  • 没有找到相关文章

最新更新