如何在任何特定日期获得本周的周末日?

时间:2011-01-11 07:27:31

标签: php

例如,今天的周末。

5 个答案:

答案 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')

http://php.net/manual/en/function.strtotime.php