探讨:如何使用PHP实现计算两个日期间隔的年、月
网络编程 2021-07-05 09:49www.168986.cn编程入门
本篇文章是对使用PHP实现计算两个日期间隔的年、月、周、日数的方法进行了详细的分析介绍,需要的朋友参考下
使用PHP实现计算两个日期间隔的年、月、周、日数:
代码如下:
<?php
function format($a,$b){
//检查两个日期大小,默认前小后大,如果前大后小则交换位置以保证前小后大
if(strtotime($a)>strtotime($b)) list($a,$b)=array($b,$a);
$start = strtotime($a);
$s = strtotime($b);
$extend = ($s-$start)/86400;
$result['extends'] = $extend;
if($extend<7){ //如果小于7天直接返回天数
$result['daily'] = $extend;
}elseif($extend<=31){ //小于28天则返回周数,由于闰年2月满足了
if($s==strtotime($a.'+1 month')){
$result['monthly'] = 1;
}else{
$w = floor($extend/7);
$d = ($s-strtotime($a.'+'.$w.' week'))/86400;
$result['weekly'] = $w;
$result['daily'] = $d;
}
}else{
$y= floor($extend/365);
if($y>=1){ //如果超过一年
$start = strtotime($a.'+'.$y.'year');
$a = date('Y-m-d',$start);
//判断是否真的已经有了一年了,如果没有的话就开减
if($start>$s){
$a = date('Y-m-d',strtotime($a.'-1 month'));
$m =11;
$y--;
}
$extend = ($s-strtotime($a))/86400;
}
if(isset($m)){
$w = floor($extend/7);
$d = $extend-$w7;
}else{
$m = isset($m)?$m:round($extend/30);
$s>=strtotime($a.'+'.$m.'month')?$m:$m--;
if($s>=strtotime($a.'+'.$m.'month')){
$d=$w=($s-strtotime($a.'+'.$m.'month'))/86400;
$w = floor($w/7);
$d = $d-$w7;
}
}
$result['yearly'] = $y;
$result['monthly'] = $m;
$result['weekly'] = $w;
$result['daily'] = isset($d)?$d:null;
}
return array_filter($result);
}
print_r(format('2012-10-1','2012-12-15'));
?>
运行结果
Array([extends]=>75[monthly]=>2[weekly]=>2)
php 查询某天所在的周数及对应周的起始日期
代码如下:
/
@file
@version 1.1
@author QQ83989686
@date 2012-8-7 修改时间
@brief
/
//获取某个日期的 周数、周对应的开始结束时间
private function getWeekStartEndDay($day)
{
$g = strftime("%u",strtotime($day));
return array('week_num'=>strftime("%V",strtotime($day)),'week_start_day'=>strftime('%Y-%m-%d',strtotime($day)-($g-1)86400),'week_start_day_'=>strftime('%Y年%m月%d日',strtotime($day)-($g-1)86400),'week_end_day'=>strftime('%Y-%m-%d',strtotime($day) + (7-$g)86400),'week_end_day_'=>strftime('%Y年%m月%d日',strtotime($day) + (7-$g)86400));
}
编程语言
- 如何快速学会编程 如何快速学会ug编程
- 免费学编程的app 推荐12个免费学编程的好网站
- 电脑怎么编程:电脑怎么编程网咯游戏菜单图标
- 如何写代码新手教学 如何写代码新手教学手机
- 基础编程入门教程视频 基础编程入门教程视频华
- 编程演示:编程演示浦丰投针过程
- 乐高编程加盟 乐高积木编程加盟
- 跟我学plc编程 plc编程自学入门视频教程
- ug编程成航林总 ug编程实战视频
- 孩子学编程的好处和坏处
- 初学者学编程该从哪里开始 新手学编程从哪里入
- 慢走丝编程 慢走丝编程难学吗
- 国内十强少儿编程机构 中国少儿编程机构十强有
- 成人计算机速成培训班 成人计算机速成培训班办
- 孩子学编程网上课程哪家好 儿童学编程比较好的
- 代码编程教学入门软件 代码编程教程