dpzr52746 2017-06-14 05:32
浏览 39
已采纳

DateTime :: diff - 如何获得周数?

I'm having trouble getting "weeks" in DateTime::diff function

Here's my code:

$date1 = new DateTime("2017-05-14");
$date2 = new DateTime("2017-06-14");
$interval = $date1->diff($date2);
echo $interval->m.' '.($interval->m > 1 ? 'months' : 'month');

It worked if I'm going to get the "month" count, but I want to get the weeks before turning it into a month:

We have 4 weeks in a month (4.34524 to be exact from Google Unit Converter), if the difference between start date and the date today exceeds 4 weeks, it should output "1 month" and so on..

  • 写回答

3条回答 默认 最新

  • dongyinting3179 2017-06-14 05:43
    关注

    Code (Demo):

    $date1 = new DateTime("2017-06-1");
    $date2 = new DateTime("2017-06-15");
    $interval = $date1->diff($date2);
    //var_export($interval);
    if($interval->m>0){  // check if >= 1 month
        echo "{$interval->m} month",($interval->m>1?'s':'');
    }else{
        $weeks=floor($interval->days/7);  // if not yet 1 month, calc weeks
        echo "$weeks week",$weeks!=1?'s':'';
    }
    // output: 2 weeks
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效