使用PHP从工作日、周和年中查找日期


Find date out from weekday, week and year with PHP

我有一个星期日编号'N'(星期一到星期六7为1)、一个星期'W'和一个年份'Y'。

我怎样才能找到日期?

星期几:4第35周年份:2014

应输出:2014-08-28(星期四)

我尝试过使用strotime(),但没有成功。我似乎找不到一种方法来指定星期和年份,以及工作日编号。

刚刚完成了我自己的解决方案。以下是你的操作方法。

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;

您可以使用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));