0

我需要 cron 表达式,它允许我按照以下规则运行调度程序:

Starts 12:00 am on Friday (pacific time) 
ends 12:00 am on Saturday (pacific time)
And between these two dates it must occurs every hour

我可以写一些类似的东西,"0 0 12/1 ? * FRI-SAT"但当然这是不正确的。如何设置从 12-00 FRI 到 12-00 SAT 的简单范围?

4

3 回答 3

2

试试这个表达

0 0 12-23,00-12 ? * FRI,SAT

您可以在http://www.cronmaker.com/上输入此表达式来验证下一个计划时间。

于 2013-07-18T16:24:08.623 回答
1

我猜您可能需要设置两个触发器,一个从星期五下午 12:00 开始,到午夜结束,每小时触发一次,一个在星期六从上午 00:00 开始,到下午 12:00 结束。所以像这样

0 0 12-23 ? * FRI
0 0 0-12 ? * SAT

Cron Trigger Tutorial
Edit
还可以查看Cron Maker,因为它会为您生成 cron 表达式。并显示何时触发。

于 2013-06-19T06:55:55.353 回答
0

如果 cron 表达式不容易辨别,您可以随时构建自己的触发器。

我在想这样的事情可能会有所帮助:

    var jobDetail;

    var days = new DayOfWeek[] {DayOfWeek.Friday, DayOfWeek.Saturday};

    var trigger = TriggerBuilder.Create()
        .ForJob(jobDetail)
        .WithDailyTimeIntervalSchedule(x => x.WithIntervalInHours(1)
        .OnDaysOfTheWeek(days)
        .StartingDailyAt(TimeOfDay.HourAndMinuteOfDay(0, 0)));
于 2013-06-22T19:16:41.037 回答