これが私の推定タイムコードです。動作していますが、時間に誤りがあります。
if ((DateTime.Now - _startDate).Seconds > 0)
{
kbPerSecond = (int)((100 * 1000) / 8);
}
long sent = (TotalBytes - BytesRead);
long remainingseconds = sent / kbPerSecond;
string remainingTimeDisplay = string.Empty;
if (remainingseconds > 0)
{
if (remainingseconds > 60)
{
if (remainingseconds > 3600)
{
remainingTimeDisplay += ((int)(remainingseconds) / 3600).ToString("n0") + " Hours, ";
remainingseconds %= 3600;
}
remainingTimeDisplay += (((int)remainingseconds) / 60).ToString("n0") + " Minutes, ";
remainingseconds %= 60;
}
remainingTimeDisplay += ((int)remainingseconds).ToString("n0") + " Seconds remaining";
lbl_estimate.Text = remainingTimeDisplay;
}
問題は、ダウンロードが完了した後、推定時間がゼロではなく「残り 1 秒」と表示されることです。
私は何を間違っていますか?