2014-08-31 102 views
0

我有星期幾'N'(星期一到星期六1)和星期'W'和一年'Y'。從星期一,星期和年份開始的PHP

我怎樣才能找到日期?

日的一週:4 周:35 年時間:2014年

應該輸出:2014年8月28日(星期四)

我一直在使用strotime()沒有任何的運氣嘗試。 我似乎無法找到指定星期和年份以及星期幾數字的方法。

回答

0

您可以使用出於這樣的目的DateTimesetISODate()方法。你的解決方案几乎是正確的,但我不明白爲什麼你從一開始就沒有提供週日辯論。

function get_date($weekday, $week, $year) { 
    return (new DateTime())->setISODate($year, $week, $weekday)->format('Y-m-d'); 
} 

var_dump(get_date(4, 35, 2014)); 
+0

太棒了!謝謝。我沒有想到setISODate中的第三個參數。 – Karem 2014-08-31 14:50:37

1

只是做了我自己的解決方案。這是你如何做到的。

function getDayDate($day, $week, $year) { 
    $day -= 1; 

    $dto = new DateTime(); 
    $dto->setISODate($year, $week); 
    $dto->format('Y-m-d') . ' 00:00:00'; // start of the week date 
    $dto->modify('+'.$day.' days'); // add the days 
    $result = $dto->format('Y-m-d') . ' 23:59:59'; 
    return $result; 
} 

$getdate = getDayDate(4, 35, 2014); 

echo $getdate; 
相關問題