dongxia4880 2013-06-15 12:52
浏览 76
已采纳

date_diff输出错误的值

$end=date_create("2013-07-30 00:30:33");
$now=date_create();
$x=date_diff($end,$now);
echo $x->format('%a days');

When I use %a it returns 45 days which is correct, when I use %d it returns 15 days. What is problem there?

  • 写回答

2条回答 默认 最新

  • dqa35710 2013-06-15 13:02
    关注

    Number 15 are the days calculated from difference by the months.

    For example: (from http://www.php.net/manual/en/dateinterval.format.php)

    <?php
    
    $january = new DateTime('2010-01-01');
    $february = new DateTime('2010-02-01');
    $interval = $february->diff($january);
    
    // %a will output the total number of days.
    echo $interval->format('%a total days')."
    ";
    
    // While %d will only output the number of days not already covered by the
    // month.
    echo $interval->format('%m month, %d days');
    
    ?>
    

    The above example will output:

    31 total days

    1 month, 0 days

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥30 自适应 LMS 算法实现 FIR 最佳维纳滤波器matlab方案
  • ¥15 lingo18勾选global solver求解使用的算法
  • ¥15 全部备份安卓app数据包括密码,可以复制到另一手机上运行
  • ¥15 Python3.5 相关代码写作
  • ¥20 测距传感器数据手册i2c
  • ¥15 RPA正常跑,cmd输入cookies跑不出来
  • ¥15 求帮我调试一下freefem代码
  • ¥15 matlab代码解决,怎么运行
  • ¥15 R语言Rstudio突然无法启动
  • ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像