您的位置:首页 > 编程语言 > C#

C# 定时执行程序

2013-07-24 19:16 453 查看
按照你的说法,用timer最符合你的要求。在Global文件的Application_Start中创建一个timer,

System.Timers.Timer timer = new System.Timers.Timer();

timer.Enabled = true;

timer.Interval = 60000;//执行间隔时间,单位为毫秒

timer.Start();

timer.Elapsed += new System.Timers.ElapsedEventHandler(Timer1_Elapsed);

private void Timer1_Elapsed(object sender, System.Timers.ElapsedEventArgs e)

{

// 得到 hour minute second 如果等于某个值就开始执行某个程序。

int intHour = e.SignalTime.Hour;

int intMinute = e.SignalTime.Minute;

int intSecond = e.SignalTime.Second;

// 定制时间; 比如 在10:30 :00 的时候执行某个函数

int iHour = 10;

int iMinute = 30;

int iSecond = 00;

// 设置  每秒钟的开始执行一次

if (intSecond == iSecond)

{

Console.WriteLine("每秒钟的开始执行一次!");

}

// 设置 每个小时的30分钟开始执行

if (intMinute == iMinute && intSecond == iSecond)

{

Console.WriteLine("每个小时的30分钟开始执行一次!");

}

// 设置 每天的10:30:00开始执行程序

if (intHour == iHour && intMinute == iMinute && intSecond == iSecond)

{

Console.WriteLine("在每天10点30分开始执行!");

}

}

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

定时器的创建很简单,只要在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";

}

}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: