如何计算winform中剩余的时间



有关于如何计算特定小时剩余时间的想法吗,即我们开始倒计时if currentTime >= TimeSpan.Parse("06:40") && currentTime <= TimeSpan.Parse("07:25")然后我们解析当前小时和结束小时(在本例中为7:25(,并制作一个标签来显示还剩多少分和秒。我尝试过用现在和结束时间跨度来制作一些东西,但根本没有成功。

编辑:主要的想法是这样的,但我不能通过使用TimeSpan和DateTime来实现它

string myTime;
void timer()
{
var endTime = DateTime.Parse(myTime);
var beginTime = DateTime.Now.TimeOfDay;
}
private void timer1_Tick(object sender, EventArgs e)
{
var endTime = DateTime.Parse(myTime);
var beginTime = DateTime.Now.TimeOfDay;
TimeSpan difference = endTime - beginTime;
TimeSpan currentTime = DateTime.Now.TimeOfDay;
if (currentTime >= TimeSpan.Parse("06:40") && currentTime <= TimeSpan.Parse("07:25"))
{
label5.Text = "0";
myTime = "07:25";
timer();
label6.Text = difference;
}
}

解析时间点时使用DateTime而不是TimeSpan。TimeSpan表示持续时间。两个时间点(DateTime(之间的差异将是一个持续时间(TimeSpan(。

var end = DateTime.Parse("21:00");
var now = DateTime.Now;      // Could also be some other point in time
TimeSpan timeLeft = end-now;
Console.WriteLine(timeLeft);

结果:

00:24:25.8581440

如果你不喜欢秒和秒的分数,你可以使用自定义格式,例如

Console.WriteLine(timeLeft.ToString("hh\:mm"));

最新更新