好吧我想做的是当倒计时结束时意味着到达结束时间我把它放在2天内,我想重置并再添加7天并且如果可能的话继续这样做。我尝试过使用
if(endTime.Subtract(DateTime.Now) = 0)
{
}
但是这给了我一个错误“赋值的左侧必须是变量,属性或索引器”,并且还使用.ToString()方法将ts转换为字符串,但仍然无效!所有代码都取自here我想在那里发表评论,但我是新用户。在此先感谢我,我认为我已经覆盖了所有事情,在请求之前请求任何事情!
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace TV_Series_New_Episodes
{
public partial class Flash : Form
{
DateTime endTime = new DateTime(2015, 11 ,19, 14 ,30, 0);
public Flash()
{
InitializeComponent();
}
private void ct_Tick(object sender, EventArgs e)
{
TimeSpan ts = endTime.Subtract(DateTime.Now);
ctlb.Text = ts.ToString("d' Days 'h' Hours 'm' Minutes 's' Seconds'");
if(endTime.Subtract(DateTime.Now) = 0)
{
}
}
private void Flash_Load(object sender, EventArgs e)
{
ct.Interval= 500;
ct.Tick += new EventHandler(ct_Tick);
TimeSpan ts = endTime.Subtract(DateTime.Now);
ctlb.Text = ts.ToString("d' Days 'h' Hours 'm' Minutes 's' Seconds'");
ct.Start();
}
}
}
答案 0 :(得分:1)
有两个问题:
=
是赋值运算符。如果您想进行比较,请使用==
。
您无法将TimeSpan
与ìnt
进行比较。使用TimeSpan
的{{1}}属性来获取数字。或者直接使用参数。
最后,您的程序可能无法完全达到TotalDays
。所以你应该允许一些宽容:
endTime
答案 1 :(得分:1)
为了添加Nico的答案,endTime.Subtract(DateTime.Now)
返回一个TimeSpan
对象(不是DateTime
),它具有TotalTimeUnit属性。