C# 定时执行程序

按照你的说法,用timer最符合你的要求。在Global文件的Application_Start中创建一个timer, 

  1. System.Timers.Timer timer = new System.Timers.Timer();  
  2. timer.Enabled = true;  
  3. timer.Interval = 60000;//执行间隔时间,单位为毫秒  
  4. timer.Start();  
  5. timer.Elapsed += new System.Timers.ElapsedEventHandler(Timer1_Elapsed);  
  6.   
  7. private void Timer1_Elapsed(object sender, System.Timers.ElapsedEventArgs e)  
  8.  {  
  9.        
  10.     // 得到 hour minute second  如果等于某个值就开始执行某个程序。  
  11.     int intHour = e.SignalTime.Hour;  
  12.     int intMinute = e.SignalTime.Minute;  
  13.     int intSecond = e.SignalTime.Second;  
  14.     // 定制时间; 比如 在10:30 :00 的时候执行某个函数  
  15.     int iHour = 10;  
  16.     int iMinute = 30;  
  17.     int iSecond = 00;  
  18.     // 设置  每秒钟的开始执行一次  
  19.     if (intSecond == iSecond)  
  20.     {  
  21.         Console.WriteLine("每秒钟的开始执行一次!");  
  22.     }  
  23.     // 设置 每个小时的30分钟开始执行  
  24.     if (intMinute == iMinute && intSecond == iSecond)  
  25.     {  
  26.         Console.WriteLine("每个小时的30分钟开始执行一次!");  
  27.     }  
  28.   
  29.     // 设置 每天的10:30:00开始执行程序  
  30.     if (intHour == iHour && intMinute == iMinute && intSecond == iSecond)  
  31.     {  
  32.         Console.WriteLine("在每天10点30分开始执行!");  
  33.     }  
  34. }   

================================================================

 定时器的创建很简单,只要在Asp.net的Global.asax中的Application_Start方法中加入如下代码就可以了。但本人我推荐推荐,对于一个Web站点来说,它所提供的是让用户去浏览它,但不是定时的去执行某样操作,如果你的网站已经达到一定的流量,请千万不要这样子做,把需要定时执行的操作写成服务吧。

下面我们来讲下如何在Asp.net中加定时器,首先在Global.asax里创建一个方法,当然,你其它新建一个类,或者在已有类中写也是一样的。代码如下:

void demo_Elapsed(object sender, ElapsedEventArgs e)

{//需要执行的操作}

写完demo_Elapsed这个方法之后,就在Application_Start方法下添加如下代码:

Timer objTimer = new Timer();

objTimer.Interval = 1 * 1000;//每秒执行一次(这里单位是毫秒)

objTimer.Enabled = true;

objTimer.Elapsed += new ElapsedEventHandler(demo_Elapsed);//demo_Elapsed就是需要调用的方法

到此就已经完成了。

如果我们想指定一个时间来执行程序的话,我们可以从ElapsedEventArgs中取得,代码如下:

int hour = e.SignalTime.Hour;//时

int minute = e.SignalTime.Minute;//分

int second = e.SignalTime.Second;//秒

得到了时、分、秒之后,接下来的操作就简单了,只要对比你指定的时间就行了,代码我就不写了。

===========================================

winform用定时器实例

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;




namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {


        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            timer1.Interval   =   1000;  


            timer1.Start();}


        private void timer1_Tick(object sender, EventArgs e)
        {
            DateTime dt = DateTime.Now;
            string h = dt.Hour.ToString();//小时
       string m = dt.Minute.ToString();//分钟
            if (h=="20"&&m=="24")
            {
                label1.Text="测试";
            }
            if (h == "20" && m == "25")
            {
                label1.Text = "测试2";
            }
        }
        
    }
}


  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值