我希望所有下一个日期与指定日期的日期相同,以便在cron
作业文件中发送邮件。
现在我通过这样的计算来检查它的周是否
$event_from_date = strtotime(date('Y-m-d',strtotime($rs->from_date)));
$today_date = strtotime(date('Y-m-d'));
$event_expire_on = strtotime($rs->to_date);
if($rs->time_zone == "CST")
$current_date=strtotime($cst_date);
elseif($rs->time_zone == "PST")
$current_date=strtotime($pst_date);
elseif($rs->time_zone == "MST")
$current_date=strtotime($est_date);
elseif($rs->time_zone == "EST")
$current_date=strtotime($mst_date);
if($current_date <= $event_expire_on && $current_date >= $event_from_date)
{
$diff=$today_date-$event_from_date;
if($diff%604800 == 0 && $rs->report_cycle=="Weekly")
$flag = 1;
else
$flag = 0;
}
任何人都可以告诉我。如何每周接下来7天,每两周15天,每月30天,如周一,周二等。
答案 0 :(得分:0)
我不是百分百肯定我理解你的问题。 DateTime classes提供了以各种方式操纵日期和时间的简单方法。
我认为,在你的位置上,我会寻找DatePeriods代表我需要的各个时期。这样的功能可能适合: -
/**
* @param Int $days
* @return DatePeriod
*/
function getNumDays($days)
{
$today = new \DateTime('UTC');
$oneDay = new \DateInterval('P1D');
return new \DatePeriod($today, $oneDay, $days);
}
foreach(getNumDays(7) as $day){
//Do what ever you want with the DateTime instance
//We'll just var_dump() it for now.
var_dump($day);
}