C# WPF 定时器每天12点执行一次
您可以使用System.Timers.Timer类来实现这个任务。以下是一个示例代码:
using System;
using System.Timers;
namespace TimerExample
{
class Program
{
static void Main(string[] args)
{
// 创建一个定时器对象
System.Timers.Timer timer = new System.Timers.Timer();
// 设置定时器间隔为1秒
timer.Interval = 1000;
// 设置定时器重复执行
timer.AutoReset = true;
// 设置定时器事件
timer.Elapsed += Timer_Elapsed;
// 计算距离每天12点的时间差
DateTime now = DateTime.Now;
DateTime noon = new DateTime(now.Year, now.Month, now.Day, 12, 0, 0);
if (now > noon)
{
noon = noon.AddDays(1);
}
TimeSpan timeSpan = noon - now;
// 设置定时器启动延迟时间
timer.StartTime = timeSpan.TotalMilliseconds;
// 启动定时器
timer.Start();
Console.ReadKey();
}
private static void Timer_Elapsed(object sender, ElapsedEventArgs e)
{
// 判断是否为每天12点
if (e.SignalTime.Hour == 12 && e.SignalTime.Minute == 0 && e.SignalTime.Second == 0)
{
// 执行任务
Console.WriteLine("Task executed at " + e.SignalTime.ToString());
}
}
}
}
在这个示例中,我们创建了一个定时器对象,并设置了它的间隔为1秒,自动重复执行。然后,我们计算出距离每天12点的时间差,并将其设置为定时器启动延迟时间。在定时器事件中,我们判断是否为每天12点,如果是,则执行任务
原文地址: https://www.cveoy.top/t/topic/htnT 著作权归作者所有。请勿转载和采集!