1. 程式人生 > >C#定時器【控制檯程式】

C#定時器【控制檯程式】

 using System;
using System.Timers;
namespace 定時器ConsoleApplication1
{
class Class1
{
   [STAThread]
  static void Main(string[] args)
  {
    System.Timers.Timer aTimer = new System.Timers.Timer();
    aTimer.Elapsed += new ElapsedEventHandler(TimeEvent);
   // 設定引發時間的時間間隔 此處設定為1秒(1000毫秒)
    aTimer.Interval = 1000;
    aTimer.Enabled = true;
    Console.WriteLine("按回車鍵結束程式");
    Console.WriteLine(" 等待程式的執行......");
    Console.ReadLine();
  }
  // 當時間發生的時候需要進行的邏輯處理等
//     在這裡僅僅是一種方式,可以實現這樣的方式很多.
private static void TimeEvent(object source, ElapsedEventArgs e)
  {
  // 得到 hour minute second   如果等於某個值就開始執行某個程式。
      DateTime date1 = e.SignalTime; //.Date.ToString()+" "+e.SignalTime.Hour.ToString()+":"+e.SignalTime.Minute.ToString()+":"+e.SignalTime.Second.ToString());
   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分開始執行!");
    }
   }
}
}