我正在尝试构建一个在每周五晚上 11:59 运行的触发器。我正在使用 Quartz .NET v2.2.4。我的时区是 +8:00。这就是我想出的。
ITrigger trigger = TriggerBuilder.Create()
.WithDailyTimeIntervalSchedule(x=> x
.OnDaysOfTheWeek(DayOfWeek.Friday)
.StartingDailyAt(TimeOfDay.HourAndMinuteOfDay(23, 59))
.WithRepeatCount(-1)
)
.Build();
DateTimeOffset origin = new DateTimeOffset(DateTime.Now);
DateTimeOffset end = origin.AddDays(100);
IList<DateTimeOffset> dates = TriggerUtils.ComputeFireTimesBetween(trigger as IOperableTrigger, null, origin, end);
foreach(var date in dates)
{
Console.WriteLine(date.ToString());
}
但是,问题是这会打印以下内容
9/13/2013 11:59:00 PM +08:00
9/20/2013 3:59:00 PM +00:00
9/27/2013 3:59:00 PM +00:00
10/4/2013 3:59:00 PM +00:00
10/11/2013 3:59:00 PM +00:00
我理解这11:59:00 PM +08:00
等于3:59:00 PM +00:00
. 但是有什么理由这样打印吗?如果其他人有相同的时间和时区,我会睡得更好。