答案 0 :(得分:4)
如果你正在寻找例如下周六或上周六(或任何其他工作日)strtotime
是你的朋友。
$prev = strtotime('-1 saturday');
$next = strtotime('saturday');
var_dump($prev, $next);
值得注意的是strtotime
是一个相当昂贵的功能,因此多次计算会显着增加执行时间。一个很好的折衷方案是使用它来获得起点并使用其他date functions来获得更多日期。
答案 1 :(得分:3)
这在PHP中非常简单:
<?php
echo date( 'Y-m-d', strtotime( 'next Saturday' ) );
?>
答案 2 :(得分:1)
get the current date.
get the current day of week. (0=monday, 6 = sunday)
days2weekend = 5 - current day of week
dateadd(currentdate, days, days2weekend)
答案 3 :(得分:1)
您的问题有点难以理解,但您是指某个日期的“下周末”吗?
你可以得到工作日的数字,然后看看星期六和sundag要添加多少钱?那看起来像是:
<?php
$dayNR = date('N'); //monday = 1, tuesday = 2, etc.
$satDiff = 6-$dayNR; //for monday we need to add 5 days -> 6 - 1
$sunDiff = $satDiff+1; //sunday is one day more
$satDate = date("Y-m-d", strtotime(" +".$satDiff." days"));
$sunDate = date("Y-m-d", strtotime(" +".$sunDiff." days"));
echo $satDate."\n";
echo $sunDate."\n";
?>
答案 4 :(得分:0)
我认为内置的PHP函数strtotime应该适合你。例如:
strtotime('next saturday')