HangFire 上重复作业的默认时区

use*_*985 1 .net timezone cron-task hangfire

有谁知道 Hangfire 在设置定期作业时使用的默认时区?我怀疑它是 UTC 而不是主机服务器的时区。

Pan*_*vos 5

我怀疑真正的问题是如何指定时区,而不是 UTC 还是本地时区。

Cron类文档明确指定使用 UTC,例如:

Daily() 返回每天 00:00 UTC 触发的 cron 表达式。

Daily(Int32) 返回每天在 UTC 指定小时的第一分钟触发的 cron 表达式。

ETC

但这只是默认设置。该类Cron不会对时区进行硬编码,它只是创建一个 CRON 字符串。如果您想使用不同的时区,可以通过所有 AddOrUpdatetimeZone重载中的参数传递它。

该参数接受TimeZoneInfo实例。TimeZoneInfo 允许您通过 Windows 名称、UTC 或 来指定时区Local,在这种情况下,它返回系统的时区。

在这种情况下,问题就变成了What's the server's timezone?如果 Web 应用程序需要使用特定时区,最好明确说明,尤其是在使用云虚拟机时

  • UTC 是我一直在寻找的答案。问题很简单,关于默认时区是本地时区还是 UTC。如何设置时区在 HangFire 文档和 API 本身中非常清楚。感谢您的帮助。 (2认同)