C#。带进度条的日期时间范围?

C#. Datetime range with progress bar?

所以我有一些 DateTime'sstartendnow

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 来展示这个过程。 (startProgressBar 的开头和 endend 的开头)

我的想法是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);