参数说明:
centos系统是7.9版本的
hangfire是Hangfire 1.8.7
centos系统的目前设置时区是cts的东八时区,截图如下

原因:
hangfire任务设定每天执行时间+东八=实际偏移的执行时间
比如:你设定的是早上6点执行+东八=实际下午两点执行
解决方法:
var job = service.GetService<CommonJobs>();
RecurringJob.AddOrUpdate("每日定时请求的服务", () => job.GetToDayNews(), CronType.TodaySix(6), TimeZoneInfo.FindSystemTimeZoneById("Asia/Shanghai"));//周期性为每天早上6点
重点是:TimeZoneInfo.FindSystemTimeZoneById("Asia/Shanghai")
效果截图如下:

附带:解释其中CronType.TodaySix(6)的代码如下:
/// <summary>
/// 周期性为每天早上6点
/// </summary>
/// <param name="interval">周期性为每天早上6点</param>
/// <returns></returns>
public static string TodaySix(int interval = 6)
{
return "0 0 " + interval.ToString() + " * * ?";
}












![[图解]DDD领域驱动设计伪创新-通用语言01](https://img-blog.csdnimg.cn/direct/592e9334762f4b1dbbad0ee164c841ba.png)





