我的应用要求用户安排每日,每周,每月或每两周重复发生的重复活动。
每两周一次,我的意思是每两周(14天)从创建时提供的任意日期值开始。
我的jobs
表格有两列支持此列:job_frequency_id
和job_frequency_value
。我能够安排所有类型,除了每两周一次。
第一个col是job_frequencies
表的FK;它包含daily, weekly, monthy, bi-weekly
个值。 job_frequency_value
包含与频率对应的值。
例如:如果某个职位有job_frquency_id == 3
和job_frequency_value == 10
,则该职位每月的第10天都会运行。
如何在不篡改数据库结构的情况下添加双周支持?我将使用job_frequency_value
col来存储14天期限的开始日期,但我不确定未来的计算。
答案 0 :(得分:2)
假设您的开始日期存储为名为“createdDate”的变量。
nextFortnight = DateAdd("ww", job_frequency_value*2, createdDate);
答案 1 :(得分:0)
您可以将计划任务包装在一起并将其设置为每周运行一次吗?
像
这样的东西 <cfif DateDiff('ww',CreateDate(2011,01,01),Today'sDate) MOD 2 EQ 1>
这样一来,如果周数很奇怪,你的预定任务就会完全运行,如果这是一个奇怪的一周,那么它会运行计划任务,但忽略你所有的代码。