<?php
function RS_GET_DATE_WITH_DAYNAME_POSITION_FORMAT($day_name, $position = 'future', $format = 'Y-m-d H:i:s', $today_is_past = true)
{
$day = ucfirst($day_name);
$today_name = date('l', time());
$today = date($format, time());
$next = date($format, strtotime('next '.$day_name));
$last = date($format, strtotime('last '.$day_name));
if($today_name == $day_name)
{
return date($format, time());
}
else if(abs(time()-strtotime('next '.$day_name)) < abs(time()-strtotime('last '.$day_name)))
{
return date($format, strtotime('next '.$day_name));
}
else
{
return date($format, strtotime('last '.$day_name));
}
if($position == 'future')
{
if($today_name != $day_name)
{
return $next;
}
else
{
if($today_is_past) return $next;
else return $today;
}
}
else
{
if($today_name != $day_name)
{
return $last;
}
else
{
if($today_is_past) return $today;
else return $last;
}
}
}
echo RS_GET_DATE_WITH_DAYNAME_POSITION_FORMAT('Sunday', 'future');
preferences:
32.69 ms | 402 KiB | 5 Q