【问题标题】:Scheduling events by the week of the month, COLDFUSION按每月的一周安排活动,COLDFUSION
【发布时间】:2017-05-24 18:51:56
【问题描述】:

我正在尝试在 Coldfusion 中创建一个函数,该函数将按月中的周而不是月中的日创建事件。

例如,活动应该安排在每月的第二周,而不是每月的第二个星期二。

但是,我遇到了这样一个问题,即月份可能有 4 到 6 周,如果有人在每月的第 5 周或第 6 周安排了活动,那么它不会在没有重复的月份重复'没有 5 或 6 周。

对于如何解决这个问题我有点茫然,所以任何集思广益的建议都将不胜感激。

【问题讨论】:

  • 一周可以是 7 天之一。您希望活动在本周的每一天,还是在特定的一天举行?
  • 这将取决于几件事。每月的第一天总是在第一周吗?如果是星期天呢?还是周六?当然,您可以使用内置的week,通过比较每月第一天返回的周数与该月最后一天返回的周数,计算出一个月有多少周。
  • 这听起来像是一个可以使此类计算更容易的日期维度表的好案例。无论您需要多长时间,您都可以设置每天的定义。然后只需将您的数据加入维度表即可获得您需要的结果。由于它们非常有用,我认为所有数据库都应该有一个日期维度表。

标签: coldfusion coldfusion-11


【解决方案1】:

您需要找到最小的公分母,那就是二月。 2月非闰年有28天。一周有 7 天和 4 x 7 = 28,因此这意味着您无法提供可靠地允许在每个月的第 5 周(或 6、7、8 等)进行调度的功能。一种解决方法是,如果该月的预定周没有逻辑日期,则在该月的最后一天或下一天的第一天运行任务。例如,在最后一天,您可以检查当月晚些时候安排的任何无法运行的任务,然后运行它们。

【讨论】:

    猜你喜欢
    • 2013-01-04
    • 1970-01-01
    • 1970-01-01
    • 2013-07-03
    • 2021-06-17
    • 2015-03-04
    • 2019-06-08
    • 2012-11-12
    • 1970-01-01
    相关资源
    最近更新 更多