2017-02-24 73 views
0

的数量我想要得到的天数按特定的日期,星期和年数,如何从天得到具体的日期,星期和年

$days = "Monday"; 
$number_of_week = date('W'); // 1 to 42 total number of weeks in years 
$year = date('Y'); // 2017 

getSpecificDate($days, $number_of_week, $year); 

它将返回

2017-02 -20

如何获得?今年

$:今年

$周:

+0

有何你应该输出吗?你需要得到当前的日期还是其他的东西?你能否介绍一下你的问题 –

+0

请告诉我你期望的结果是什么 –

+0

在使用ISO-8601周时,不要使用'Y'作为年份,而是使用'o',即ISO-8601星期编号年份。 –

回答

0

试试这个:

$days = "Tuesday"; 
$number_of_week = date('W'); // 1 to 42 total number of weeks in years 
$year = date('Y'); // 2017 

function getSpecificDate($days, $number_of_week, $year){ 
    $week_day = date("Y-m-d", strtotime($year."W".$number_of_week)); 

    $date_time = strtotime($week_day.' next '.$days); 

    return date('Y-m-d', $date_time); 
} 

echo getSpecificDate($days, $number_of_week, $year); 
+0

谢谢先生,其工作,但它应该返回这个 $ week_day = date(“Y-m-d”,strtotime($ year。“W”。$ number_of_week));它的工作..谢谢你 –

0

这样的功能,如果1〜9,应该前置0,如01〜09

$天:1〜7

getSpecificDate($days, $week, $year) { 

    return date("Y-m-d", strtotime($year . "W" . sprintf("%02u", $week) . $days)); 

} 
+0

输出错误。如果$ day =“Monday”那么输出结果是2017-02-21,应该是2017-02-20 –

+0

已经使用mith方法解决了 我应该返回$ week_day = date(“Ymd”,strtotime($ year。“ W“。$ number_of_week)); 感谢您的帮助,m(_ _)m –

相关问题