本帖最后由 zyc900329 于 2011-10-09 22:08:56 编辑

解决方案 »

  1.   


    function datediff($yy2,$mm2,$dd2,$yy1,$mm1,$dd1){
    return abs(strtotime("$yy2-$mm2-$dd2") - strtotime("$yy1-$mm1-$dd1"))/86400;
    }echo datediff(2010,10,20,2011,9,20);
    /**
    print 335
    /**/
      

  2.   

    不好意思 你可能没看明白我的意思 我是说要把时间以显示为间隔 xx年xx月xx天 这种形式体现出来
    由于每个月的天数不同 加上平年闰年的问题,所以搞得有点晕 才来这里请教高手们的
      

  3.   

    看错鸟显示成xx年xx月xx天,的转换规范你自己都描述不清楚,如果清楚就知道怎么写了例如结果是1年3月5天,====你的现有代码的间隔天数是多少?这串字符并不能分别闰年与否。所以既可以表示N天,那也可以是N+1天。这样的话求得的差额天数====>X年Y月Z天是多对一的映射
      

  4.   

    DateTime::diff -- date_diff — Returns the difference between two DateTime objects调这个标准php函数,返回的DateInterval对象包含年月日信息,具体看手册。
      

  5.   

    date_diff()函数:<?php
    date_default_timezone_set("Asia/shanghai");
    $datetime1 = date_create('2009-10-11');
    $datetime2 = date_create('2015-03-13');
    $interval = date_diff($datetime1, $datetime2);
    echo $interval->format('%y years %m monthes %d days');
    ?>
      

  6.   


    这位大哥 又有这个问题了... php版本太低  好像5.3以后才支持date_diff
    还有其他什么办法吗?  mysql里有这一类的函数吗?