从php周数获取上周数

Sid*_*how 1 php time date

我目前需要从传递 php 周数的变量中获取前一周,所以如果是第 13 周,我将得到第 12 周。

我面临的问题是,如果我在第 1 周从原始数字减去 1,它将返回第 0 周,除非我创建一个 if 语句,即:

if($week==1)
{
    $prev_week=52;
    $prev_year=$year-1;
}
Run Code Online (Sandbox Code Playgroud)

这是假设php从1而不是0开始计算周数。这看起来有点笨拙,我认为可能有更好的方法来利用PHP的许多日期和时间函数来做到这一点。

web*_*mad 7

尝试这个:

$currentWeek = date( 'W' );

$today = strtotime( date( 'Y-m-d' ) ) - 7*24*60*60; // last week this day
// change 7 to 30 to see last year's week numer

$lastWeek = date( 'W', $today );

echo $currentWeek . '--' . $lastWeek;
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助。

更新

$lastWeekNumber = date( 'W', strtotime( 'last week' ) );
Run Code Online (Sandbox Code Playgroud)