比如用户输入2007-04-20到2007-05-10,共20天 共20元
如何获得2007-04-20到2007-05-01 10天 共10天  费用10元
        2007-05-01到2007-05-10 10天 共10天 费用10元
财务希望用户输入时间段和费用,到统计的时候,可以按照月来分割用户时间,来计算所有用户到月底这一天一共花了多少钱。不知道大家有什么好的办法来实现这个功能。

解决方案 »

  1.   

    在数据库里的话直接to_days函数处理下.
    在PHP里,mktime配合strtotime或者date都可以.
      

  2.   

    还是不是很清楚,不知道mysql有没有这种搜索语句,可以直接把时间段分割开,还是大家存储时间是按照天数、小时还是直接是日期,不知道哪种好!
      

  3.   

    应该有多种方法实现吧,我写一种
    <?php
    $fr='2007-04-20';
    $to='2007-05-10';
    $fr=strtotime($fr);
    $to=strtotime($to);
    echo ceil(($to-$fr)/(24*60*60));
    //20
    ?>
      

  4.   

    再写一个
    <?php
    $mo=(date('m')==12)?01:(date('m')+1); //如果是12月,则下月是1月份
    $ye=($mo==01)?(date('Y')+1):date('Y'); //相应年份加1echo strtotime(date($ye.'-'.$mo.'-01')); //下月初时间戳
    echo '<br>';
    echo strtotime(date($ye.'-'.$mo.'-01'))-(24*60*60); //本月底时间戳
    ?>
      

  5.   

    噢!这样就行
    echo strtotime($ye.'-'.$mo.'-01'); //下月初时间戳
    echo '<br>';
    echo strtotime($ye.'-'.$mo.'-01')-(24*60*60); //本月底时间戳
      

  6.   

    $leapyear = date("L");
    //这个函数可以判断今年是否是闰年
    if (leapyear == 1)
             $feb = 29;
          else
    $feb = 28;
    //ps:二月闰年29天 非闰年是28天 没有30天的时候 :-)
      

  7.   

    <?php
    $mo=(date('m')==12)?01:(date('m')+1); //如果是12月,则下月是1月份
    $ye=($mo==01)?(date('Y')+1):date('Y'); //相应年份加1echo strtotime($ye.'-'.$mo.'-01'); //下月初时间戳
    echo '<br/>';
    echo strtotime($ye.'-'.$mo.'-01')-(24*60*60); //本月底时间戳
    ?>