【发布时间】:2020-02-04 16:49:58
【问题描述】:
基本上,我试图在每周的特定日期运行一个函数。我很难说出来,所以我会放一张图片,把我想跑步的日子划掉。尽管我会尽我最大的努力实现我想要实现的目标以及到目前为止我所做的一切。到目前为止,这一直是我的方法,首先我得到当前日期、月份的周数和工作日(周一为 1,周日为 7)。所以我只能在一月份得到它,但不能在接下来的几个月里得到它,因为它每个月都会重置。例如,我在 1 月 31 日运行该函数,然后在下个月它不应该在 2 月的第一周的星期一运行,而是应该在星期二和星期四运行,因为它已经按照模式在 1 月 31 日星期五运行了该函数上个月的。我可以知道我是否在正确的轨道上?如果有人有建议或建议,对我学习这个概念会有帮助。 (发送电子邮件是我要运行的功能)。
$date = date("Y-m-d");
$week = ceil( date( 'j', strtotime( $date ) ) / 5 );
$working_days = (date('N', strtotime($date)));
if($week == 1 || $week == 3 || $week == 5){
if($working_days == 1 || $working_days == 3 || $working_days == 5){
sendEmail($to, $title, $content, $content1);
//echo("week " .$week." -> "."1 => ".$working_days."<br>");
//echo("send");
}
else{
echo("week " .$week." -> "."1 => ".$working_days."<br>");
echo("do not send");
}
}
else{
if($working_days == 2 || $working_days == 4){
sendEmail($to, $title, $content, $content1);
//echo("week ".$week."-> "."2 => ".$working_days."<br>");
//echo("send");
}
else{
echo("week " .$week." -> "."1 => ".$working_days."<br>");
echo("do not send");
}
}
【问题讨论】:
-
你需要学习如何使用 CRON 作业
-
是运行此功能的用户,您只希望它在指定日期运行,还是您想要的婴儿床作业(在指定日期自动运行脚本)?
-
二月又是怎样的呢?和一月相反吗?第一次使用“x”的意思是 4 号星期二?
-
它将是每天自动执行脚本的 cron 作业,但会根据脚本决定是否在该特定日期运行该函数。希望我能回答你的问题
-
好的!只是我的第二个问题,也是二月,那么一切都清楚了