PHP:根据年份周数和星期几计算日期

3

我目前遇到的问题是:我需要获取日期,格式如"Sun, 29.05.2016 18:00",但是我只有一年中的周数、星期几和一天中的小时数。

Week: 21
Day:  7
Hour: 18

现在我的问题是如何使用PHP的日期函数或自己的代码获取实际日期和时间?

你可以尝试使用setISODate函数。 - Murad Hasan
3个回答

3

你正在寻找DateTime::setISODate

$week_no = 21;
$day =7;
$hour = 18;

$d= new DateTime();
$d->setISODate(date('Y'),$week_no, $day);
$d->setTime ($hour,0);
echo $d->format('D, d.m.Y H:i');

这个完美地解决了问题。非常感谢您。我不知道有类似"setISODate"的东西。你救了我一天! - ZeroTek

1
尝试使用setISODateDateTime在线检查 将2016设置为所需输出,并直接将小时用于格式。
$gendate = new DateTime();
$gendate->setISODate(2016, 21, 7); //year , week num , day
echo $gendate->format('D, d.m.Y 18:00'); //Sun, 29.05.2016 18:00

1
相当直接,涉及到 DateTime 对象:
$week = 21;
$day = 7;
$hour = 18;

$dateFormat = sprintf('%d-W%02d-%d', (new DateTime())->format('Y'), $week, $day);

$x = new DateTime($dateFormat);
$x->setTime($hour, 0);
echo $x->format('Y-m-d H:i:s');

(假设当前年份)



网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接