dongpo7467
2018-06-13 11:15
浏览 56
已采纳

PHP DateTime:从特定时间戳获取下一个星期日

I was searching for the right answer but I was unable to find it. What I need to find out is, how to get the next sunday from a given timestamp?

My scenario is that I have a timestamp saved inside my database.

$timestamp='1530223200';

The timestamp stands for friday, 29.june.2018 00:00:00! I now need to get the next sunday (also 00:00:00) from the given timestamp. In my scenario it would be sunday, 01.july.2018 00:00:00!

Any idea how I can to this?

EDIT: Here is what I´ve right now:

function listYearWeeksProbierbox($year) {

        $weeks=array();
        $timestamp='1530223200';
        $run_stamp = new DateTime(date('Y-m-d', $timestamp));
        $run_stamp->modify('next sunday');
        $run_stamp->format('Y-m-d');

        for ($x=0;$x<7;$x++) {
            if (date("w",$run_stamp)==0) { // Montag
                if ($weeks[date("W",$run_stamp)]=="") {
                    $weeks[date("W",$run_stamp)]=$run_stamp;
                }
            }
            $run_stamp=($run_stamp+86400);
        }

        return $weeks;

} 

Problem is I do get the following error message:

Warning: date() expects parameter 2 to be long, object given in

Any idea what I am doing wrong?

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • dqiaw48488 2018-06-13 11:24
    已采纳

    You can do it like this :

    $timestamp = '1530223200';
    $date = new DateTime("@$timestamp");
    $date->modify('next sunday');
    echo $date->format('Y-m-d');
    
    已采纳该答案
    打赏 评论

相关推荐 更多相似问题