这是我的代码:
IdleTime = System.Environment.TickCount - LastInput.dwTime;
int hour = ((IdleTime + 500) / 86400000);
int min = ((IdleTime + 500) / 60000) - (hour * 60);
int sec = ((IdleTime + 500) / 1000) - (min * 60);
我在跟踪空闲时间的计时器中得到了一个空闲计时器
秒工作和分钟工作,但我不确定它是否会工作一小时达到24我认为它可能会在我身上发出错误86400000毫秒是一天我有秒和最小数据来自像sec这样的上一次是从min获取数据。有人可以帮忙吗?
答案 0 :(得分:2)
我建议你使用TimeSpan
类型以避免自己做数学运算:
int milliseconds = Environment.TickCount - LastInput.dwTime;
TimeSpan idleTime = TimeSpan.FromMilliseconds(milliseconds + 500);
int hour = (int) idleTime.TotalHours;
int minutes = idleTime.Minutes;
int seconds = idleTime.Seconds;
答案 1 :(得分:1)
我会说
IdleTime = System.Environment.TickCount - LastInput.dwTime;
int hours = IdleTime / 3600000;
int minutes = IdleTime / 60000 - hour * 60;
int seconds = IdleTime / 1000 - min * 60;
我不确定你为何从IdleTime
减去500。