将任务安排在每月的第二个星期日或第三、第四个星期日和星期六

问题描述 投票:0回答:1

我使用 C# 和 Microsoft.Win32.TaskScheduler.dll 创建动态计划任务。 为特定预定的月份日期设置日期没有问题:

TaskService ts = new TaskService();
TaskDefinition tsDef = ts.NewTask();

(...)

m_Logger.SendMessage("Trigger Monthly...");

DateTime scheduleDateTime = new DateTime(2024, 12, 31, 23, 59, 0);

MonthlyTrigger objMonthlyTrigger = new MonthlyTrigger();
objMonthlyTrigger.DaysOfMonth = new int[] { scheduleDateTime.Day };
objMonthlyTrigger.StartBoundary = scheduleDateTime;
objMonthlyTrigger.EndBoundary = DateTime.MaxValue;
tsDef.Triggers.Add(objMonthlyTrigger);

我的问题是关于使用“按计划每月”触发的设置作为示例:

  • 第二个星期日 或
  • 第三、第四个星期日和星期六

Schedule Task 1

Schedule Task 2

我怎样才能做到这一点? 预先感谢您的帮助

c# scheduled-tasks windows-task-scheduler
1个回答
0
投票

你需要

MonthlyDOWTrigger
。本机对象记录在here,.NET 包装器在here

MonthlyDOWTrigger objMonthlyTrigger = new(DaysOfTheWeek.Sunday | DaysOfTheWeek.Saturday, weeksOfMonth: WhichWeek.SecondWeek | WhichWeek.ThirdWeek)
{
    StartBoundary = scheduleDateTime,
    EndBoundary = DateTime.MaxValue,
};
tsDef.Triggers.Add(objMonthlyTrigger);
最新问题
© www.soinside.com 2019 - 2024. All rights reserved.