【发布时间】:2015-09-28 21:54:29
【问题描述】:
我遇到了一个带有 PHP 日期的编码器块。让我先描绘一下我想要发生的事情。例如:
$user_join_date = new DateTime('2015-01-31');
$today_date = new DateTime('2015-04-30');
每天都会运行一个 cron,对于本例,系统将在每 31 日(或 30-28 日,具体取决于月份)根据上个月的订单和数量为该用户计算佣金BETWEEN '2015-03-31' AND '2015-04-29'。
所以我需要的是两个方面。首先,我需要确保我在正确的日期计算佣金,即:他们加入日期的每月周年纪念日或同月的等值日期。其次,我需要找到计算佣金的时间范围,如上面的 mysql 代码段所示。
出于显而易见的原因,我不能只说:
if ($user_join_date->format('d') == $today_date->format('d')){
calc_commission();
}
因为这不会每个月都运行。如果我有任何不清楚的地方,请告诉我。
【问题讨论】:
-
好的,但实际的问题是什么?
-
顺便说一下,一个月的最后一天是另一个月的第一天的前一天。