首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >本周同一天在php中

本周同一天在php中
EN

Stack Overflow用户
提问于 2015-10-19 05:47:06
回答 1查看 78关注 0票数 0

我正在运行一个cron作业,将任务日期更改为当前一周。目前,我正在更改日期,采取日期和移动它在一个星期。

当前主计长代码:

代码语言:javascript
复制
function weekly_tasks() 
{ 
    $this->load->model('tasksmodel');
    $data['weekly_tasks'] = $this->tasksmodel->get_weekly_tasks();
    var_dump($data);

    foreach ($data['weekly_tasks'] as $row) 
    {
        // change parent task date to next week
        $date = $row->due_date;
        $newdate = strtotime ( '+1 week' , strtotime ( $date ) ) ;
        $newdate = date ( 'Y-m-j' , $newdate );
        $row->due_date = $newdate;

        // set up task update var
        $task_update = $row;
        $task_id = $row->task_id;

        //create this week's task
        $task_create = $row;
        $this->tasksmodel->create_weekly_tasks($task_create);
        var_dump($task_create);


        // update the task to next week
        $this->tasksmodel->update_weekly_tasks($task_update, $task_id);

        var_dump($task_update);

    }
}

上述代码的日期为2015/10/14周,并将该日期更改为同一工作日,即2015/10/21周。

现在,我需要在过去的任何日期,并将其更改为同一天的当前一周,在原来的日期。因此,2015/09/09应改为2015/10/21这周的同一天。

我是否仍然通过获取旧日期和今天之间的间隔间隔来使用间隔,还是有更好的方法来做到这一点?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-19 06:36:03

我建议不要使用字符串,而应该使用DateTime类:

代码语言:javascript
复制
    $date = new Date($row->due_date);
    $newdate = new Date(); // this is obviously in the "current" week.

    // get the week day of the "old" and "new" date:
    $oldWD = $date->format("N");
    $newWD = $newdate->format("N");

    // set current weeks weekday as diff of weekday:
    $diff = $oldWD - $newWD;
    if ( $diff > 0 )
        $newdate->add( new DateInterval("P" . $diff . "D") );
    else if ( $diff < 0 ) // $diff == 0 means no changes
        $newdate->sub( new DateInterval("P" . abs($diff) . "D") );

    // adjust times to the time of the old date
    $newdate->setTime(date->format("H"), date->format("i"), date->format("s"));

(现在不要对$diff进行正确的计算,而不是测试,可能是相反的)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33207399

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档