我做了一个服务,想要让他每天早上10点自动执行,
DateTime now=DateTime.Now;if (now.Hour==10)
{
Thread thread=new Thread(new ThreadStart(DownLoadFile));
thread.Start();
}
怎么不行,有没有类似的列子,给看下,谢谢啦。
DateTime now=DateTime.Now;if (now.Hour==10)
{
Thread thread=new Thread(new ThreadStart(DownLoadFile));
thread.Start();
}
怎么不行,有没有类似的列子,给看下,谢谢啦。
2、做个Windows服务程序,用Timer控制每天早晨10点执行它
3、也是Windows服务程序,程序启动先检测是否到早晨10点,然后让线程暂停一段时间再启动检查如果是数据库方面的,可以用SqlServer的作业,去执行存储过程
用Timer 并且
别用 DateTime
用 : string hour = System.DateTimeOffset.Now.Hour.ToString();DateTime 只有第一次程序执行的时候就一直是那个值,不会变了。
textBox2.Text=DateTime.Now.Second.ToString();你会发现问题的……
static void Main(string[] args)
{
while (true)
{
if (DateTime.Now.Hour >= 10)
{
//do something...
Thread.Sleep(1000 * 60 * 60 * 24);//线程休眠到第二天
}
else
{
Thread.Sleep(1000 * 60);//每分钟检查一次时间
}
}
}
还有把你的程序放进while(true)循环里应该也能实现这个效果吧
楼上的代码如果需要固定为10点 好象需要修改为这句
而且建议用单独线程处理
th.Start();private void threadStart()
{
while (true)
{
if (DateTime.Now.Hour == 10)
{
//do something...
DownLoadFile();
Thread.Sleep(1000 * 60 * 60 * 24);//线程休眠到第二天
}
else
{
Thread.Sleep(1000 * 60);//每分钟检查一次时间
}
}
}
我是想每天10点执行一次,不是10不让他执行,但是我不知道用timer
DateTime noew= New DateTime();
用while (true)
{ now=DateTime.Now;
}循环拿时间 这个可以扔线程里,让它休眠60秒下面拿now来判断就好了
if (now.Hour==10)
{
Thread thread=new Thread(new ThreadStart(DownLoadFile));
thread.Start();
}