您有任何关于如何计算剩余时间的想法,
即我们从开始倒计时
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;
}
}
答案 0 :(得分:0)
解析时间点时,请使用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
如果您不喜欢秒和几分之一秒,则可以使用custom format,例如
Console.WriteLine(timeLeft.ToString("hh\\:mm"));