PHP计算两时间之间的月数 比如我要计算从2009-10-12 到 现在,一共有多少个月?怎么算呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这个,看你需求吧,比如2009-01-31 2009-02-01这两个时间算一个月么?如果是 (date("Y")-2009) * 12 + date("m") - 10; mktime 不好算,还是用一楼的吧! 我有个不是太好的办法你可以在最低时间上增量在加28天,然后算出这个时间的年月,添加进数组,去重,,count(数组)就是月数了 $t = '2009-10-12';$s = date('(Y*12+m)') .'-'. date('(Y*12+m)', strtotime("$t"));echo eval('return '.date('(Y*12+m)') .'-'. date('(Y*12+m)', strtotime($t)).';'); $arr = explode('-', '2009-10-12');$y = date('Y', time()) - $arr[0];echo $y * 12 - $arr[1] + date('m', time()); echo (date("Y")-2009) * 12 + date("m") - 10 + round((date("d") - 12)/30); echo (date("Y")-2009) * 12 + date("m") - 10 + floor((date("d") - 12)/15); $date = intval((time()-strtotime("2010-01"))/30/24/3600);echo $date;30代表一个月30天 24代表一天24小时 3600代表一个小时用现在的时间减去你要计算的时间,获得的就是两个时间的差集时间加减一定要转化为时间戳 $dateUnit = 'month'; $dateType = 'Y-m'; $startdate_1 = $start; $enddate_1 = $end; $endMillisecond_1 = strtotime($enddate_1);//终止日期对应的毫秒数 while(true){ $nextDate_1 = date('Y-m-d',strtotime("$startdate_1 + $part $dateUnit"));//得到下一个具体的日期 $nextMillisecond_1 = strtotime("$nextDate_1"); if($nextMillisecond_1 > $endMillisecond_1){ break; } $part++; } php 面包屑导航怎么写啊? php生成excel PHP中if/else执行机制 如何根据id删除数据表中的行 php与javascrip编码解码问题,求解..... 虚拟主机的问题,WINDOWS上的PHP+UNIX上的MYSQL,这样搭配如何? 【php】取得查询数据库的时间 php文件中验证码判断验证问题 怎样在web上做一个打印的功能 谢谢。 救救小白 有谁能介绍好的php开发工具 求thinkPHP框架应用实例
$y = date('Y', time()) - $arr[0];
echo $y * 12 - $arr[1] + date('m', time());
echo $date;
30代表一个月30天 24代表一天24小时 3600代表一个小时
用现在的时间减去你要计算的时间,获得的就是两个时间的差集
时间加减一定要转化为时间戳
$dateUnit = 'month';
$dateType = 'Y-m';
$startdate_1 = $start;
$enddate_1 = $end;
$endMillisecond_1 = strtotime($enddate_1);//终止日期对应的毫秒数
while(true){
$nextDate_1 = date('Y-m-d',strtotime("$startdate_1 + $part $dateUnit"));//得到下一个具体的日期
$nextMillisecond_1 = strtotime("$nextDate_1");
if($nextMillisecond_1 > $endMillisecond_1){
break;
}
$part++;
}