2013-09-19 5 views
2

Есть ли функция PHP, где я могу получить точную дату, предоставляя номер недели в месяц и день, как,Получить точную дату, указав номер недели месяца и дня?

function required_date($week_num, $day) { 
// should return 20th of September, if i pass (3, 'Friday') 
} 

Я получаю номер недели месяца как

ceil(substr(date('Y-m-d'), -2)/7); 

и день as,

date('l'); 

Любая помощь, пожалуйста!

ответ

0
function required_date($week_num, $day) { 
    $week_of_year = sprintf('%02d', date('W', strtotime(date('Y-m-01'))) + $week_num); 
    $day_of_week = date('N', strtotime($day)); 
    $timestamp = strtotime(date('Y') . '-W' . $week_of_year . '-' . $day_of_week); 

    return $timestamp; 
} 


$timestamp = required_date(3, 'friday'); 
echo date('Y-m-d', $timestamp); 
0

попробовать это:

date('Y-m-d', strtotime('W' . $week_num . ' ' . $day)); 
0

Как насчет

function required_date($week_num, $day) 
{ 
    return date('Y-m-') . substr('0' . (($week_num - 1) * 7 + date('N', strtotime($day))) + 1, -2); 
} 

var_dump(required_date(3, 'Friday')); 
var_dump(required_date(4, 'Friday')); 
+0

Работа для меня! –

+0

@IrfanAhmed: что должно 'required_date (1, 'Sunday')' return? –

Смежные вопросы