C#。带进度条的日期时间范围?
C#. Datetime range with progress bar?
所以我有一些 DateTime's
、start
、end
和 now
DateTime start = Convert.ToDateTime(task.issued_in);
DateTime end = (Convert.ToDateTime(task.issued_in).AddHours(Convert.ToDouble(task.lead_time)));
DateTime now = DateTime.Now;
我想做一个 ProgressBar
来展示这个过程。 (start
在 ProgressBar
的开头和 end
在 end
的开头)
我的想法是progressBar.Value = (now.hours - start.hours) / (start.hours + end.hours)
但是我做不到。也许有办法做到这一点?
我相信进步是过去的时间与总时间的关系:
progressBar.Value = (int)((now - start).TotalHours / (end - start).TotalHours);
或者您计算结束时间为 start + task.lead_time
,您可以使用 lead_time 作为总任务时间:
progressBar.Value = (int)((now - start).TotalHours / task.lead_time);
所以我有一些 DateTime's
、start
、end
和 now
DateTime start = Convert.ToDateTime(task.issued_in);
DateTime end = (Convert.ToDateTime(task.issued_in).AddHours(Convert.ToDouble(task.lead_time)));
DateTime now = DateTime.Now;
我想做一个 ProgressBar
来展示这个过程。 (start
在 ProgressBar
的开头和 end
在 end
的开头)
我的想法是progressBar.Value = (now.hours - start.hours) / (start.hours + end.hours)
但是我做不到。也许有办法做到这一点?
我相信进步是过去的时间与总时间的关系:
progressBar.Value = (int)((now - start).TotalHours / (end - start).TotalHours);
或者您计算结束时间为 start + task.lead_time
,您可以使用 lead_time 作为总任务时间:
progressBar.Value = (int)((now - start).TotalHours / task.lead_time);