我有一个星期日编号'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;
您可以使用DateTime
的setISODate()
方法来实现此目的。你的解决方案几乎是正确的,但我不明白你为什么不从一开始就提供工作日的论点。
function get_date($weekday, $week, $year) {
return (new DateTime())->setISODate($year, $week, $weekday)->format('Y-m-d');
}
var_dump(get_date(4, 35, 2014));