我有星期几'N'(星期一到星期六1)和星期'W'和一年'Y'。从星期一,星期和年份开始的PHP
我怎样才能找到日期?
日的一周:4 周:35 年时间:2014年
应该输出:2014年8月28日(星期四)
我一直在使用strotime()没有任何的运气尝试。 我似乎无法找到指定星期和年份以及星期几数字的方法。
我有星期几'N'(星期一到星期六1)和星期'W'和一年'Y'。从星期一,星期和年份开始的PHP
我怎样才能找到日期?
日的一周:4 周:35 年时间:2014年
应该输出:2014年8月28日(星期四)
我一直在使用strotime()没有任何的运气尝试。 我似乎无法找到指定星期和年份以及星期几数字的方法。
您可以使用出于这样的目的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));
只是做了我自己的解决方案。这是你如何做到的。
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;
太棒了!谢谢。我没有想到setISODate中的第三个参数。 – Karem 2014-08-31 14:50:37