1. 程式人生 > 其它 >System.Timers.Timer規定間隔執行方法,規定每天的幾點幾分鐘執行方法

System.Timers.Timer規定間隔執行方法,規定每天的幾點幾分鐘執行方法

首先定義一個timer

        public Task StartAsync(CancellationToken cancellationToken)
        {
            // Console.WriteLine(" Upload is starting");
            //_timer = new Timer(Dowork, null, TimeSpan.Zero, TimeSpan.FromDays(1));//頻率一天一次
            System.Timers.Timer timer = new System.Timers.Timer();
            timer.Enabled = true;
            timer.Interval = 60000; //執行間隔時間,單位為毫秒; 此時時間間隔為1分鐘   這個配置的時間不能配置的大於配置上傳時間的分鐘 要不然導致跳過時間 未上傳
            // timer.Start();
            //達到間隔時發生
            timer.Elapsed += new System.Timers.ElapsedEventHandler(Dowork);
            return Task.CompletedTask;
        }

time執行的方法

      private async void Dowork(object state, ElapsedEventArgs e)
        {
            try
            {
                    Console.WriteLine("我每分鐘執行一次");
                    if (DateTime.Now.Hour ==10 && DateTime.Now.Minute == 30) //按每天10.30執行該方法
                    {
                     //你要執行的方法寫在裡面
                       Console.WriteLine("我只有在10.30的時候才會進來");
                    }
            }
            catch (Exception)
            {

                throw;
            }
        }