我有一个每30分钟24/7运行一次的程序。但是在凌晨1:30我需要运行原始方法,然后我还需要运行一个额外的方法。
我知道DateTime.Now.TimeOfDay
会给我当前的时间。
但我们的自动化程序如果备份可能会从1:30开始运行5分钟,所以如果时间是凌晨1:30到凌晨1:40,请告诉程序运行我的附加方法。
答案 0 :(得分:5)
您可以确定当前TimeSpan
是否在两个指定的TimeSpan
次之间。
TimeSpan currentTime = DateTime.Now.TimeOfDay;
TimeSpan earliest = new TimeSpan(1, 30, 0); // 1:30 AM
TimeSpan latest = new TimeSpan(1, 40, 0); // 1:40 AM
if (currentTime >= earliest && currentTime <= latest)
{
// It's between 1:30 AM and 1:40 AM - Do Something!!
}
答案 1 :(得分:1)
var date = DateTime.Now;
var hour = date.Hour;
var minutes = date.Minute;
if ((hour == 1) && (minutes >= 30) && (minutes <= 40))
{
Console.WriteLine("do it now");
}
答案 2 :(得分:1)
DateTime thatSpecialTime = DateTime.Today.Add(new TimeSpan(1, 35, 0));
TimeSpan howClose = thatSpecialTime - DateTime.Now;
if (5 >= Math.Abs(howClose.TotalMinutes))
{
//do your extra method
}