比如用户输入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元
财务希望用户输入时间段和费用,到统计的时候,可以按照月来分割用户时间,来计算所有用户到月底这一天一共花了多少钱。不知道大家有什么好的办法来实现这个功能。
如何获得2007-04-20到2007-05-01 10天 共10天 费用10元
2007-05-01到2007-05-10 10天 共10天 费用10元
财务希望用户输入时间段和费用,到统计的时候,可以按照月来分割用户时间,来计算所有用户到月底这一天一共花了多少钱。不知道大家有什么好的办法来实现这个功能。
在PHP里,mktime配合strtotime或者date都可以.
<?php
$fr='2007-04-20';
$to='2007-05-10';
$fr=strtotime($fr);
$to=strtotime($to);
echo ceil(($to-$fr)/(24*60*60));
//20
?>
<?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); //本月底时间戳
?>
echo strtotime($ye.'-'.$mo.'-01'); //下月初时间戳
echo '<br>';
echo strtotime($ye.'-'.$mo.'-01')-(24*60*60); //本月底时间戳
//这个函数可以判断今年是否是闰年
if (leapyear == 1)
$feb = 29;
else
$feb = 28;
//ps:二月闰年29天 非闰年是28天 没有30天的时候 :-)
$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); //本月底时间戳
?>