php实现周和月起止时间计算方法
2017-12-05 00:53
621 查看
php实现周和月起止时间计算方法
当前周的起止时间计算
public function getWeekend(){ $date=date("Y-m-d"); //当前日期 $first=1; //$first =1 表示每周星期一为开始日期 0表示每周日为开始日期 $w=date('w',strtotime($date)); //获取当前周的第几天 周日是0周一到周六是1-6 $now_start=date('Y-m-d',strtotime("$date -".($w==0 ? 6 : $w - $first).' days')); //获取本周开始日期,如果$w是0,则表示周日,减去6天 $now_end=date('Y-m-d',strtotime("$now_start +6 days")); //本周结束日期 $week[]=array($now_start,$now_end); return $week; }
当前月的起止时间计算
public function getMonth(){ $date = date("Y-m-d"); $start_date = date('Y-m-d', mktime(00, 00, 00, date('m', strtotime($date)), 01)); $end_date = date('Y-m-d', mktime(23, 59, 59, date('m', strtotime($date))+1, 00)); $month[]=array($start_date,$end_date); return $month; }
当前周往后的指定周数的起止时间
public function getWeekends(){ header('Content-type: text/html; charset=utf-8'); $date=date("Y-m-d"); //当前日期 $first=1; //$first =1 表示每周星期一为开始日期 0表示每周日为开始日期 $w=date('w',strtotime($date)); //获取当前周的第几天 周日是0周一到周六是1-6 $now_start=date('Y-m-d',strtotime("$date -".($w==0 ? 6 : $w - $first).' days')); //获取本周开始日期,如果$w是0,则表示周日,减去6天 $now_end=date('Y-m-d',strtotime("$now_start +6 days")); //本周结束日期 $weekEndCnt=1; $weekStCnt=7; echo '第0开始日期:'.$now_start.'<br />'; echo '第0结束日期:'.$now_end.'<br />'; echo "<br />"; for($i=1;$i<10;$i++){ $last_start=date('Y-m-d',strtotime("$now_end + ".$weekEndCnt." days"));//开始日期 $last_end=date('Y-m-d',strtotime("$now_end + ".$weekStCnt." days")); //结束日期 echo '第'.$i.'开始日期:'.$last_start.'<br />'; echo '第'.$i.'结束日期:',$last_end,'<br />'; $weekStCnt+=7; $weekEndCnt+=7; echo "<br />"; } }
指定月的每周的起止日期
public function getWeekendsByMonths(){ $current_year="2017";//指定日期的年份 $current_month="12";//指定日期的月份 //该月第一天 $firstday = strtotime($current_year.'-'.$current_month.'-01'); //该月的第一周有几天 $firstweekday = (7 - date('N',$firstday) +1); //计算该月第一个周一的时间 $starttime = $firstday-3600*24*(7-$firstweekday); //该月的最后一天 $lastday = strtotime($current_year.'-'.$current_month.'-01'." +1 month -1 day"); //该月的最后一周有几天 $lastweekday = date('N',$lastday); //该月的最后一个周末的时间 $endtime = $lastday-3600*24*($lastweekday%7); $step = 3600*24*7;//步长值 $week_arr = array(); for ($i=$starttime; $i<$endtime; $i= $i+3600*24*7){ $week_arr[] = array('Start'=>date('Y-m-d',$i),"End"=>date('Y-m-d',$i+3600*24*6)); } var_dump($week_arr); }
相关文章推荐
- PHP实现时间比较和时间差计算的方法示例
- php中计算时间差的几种方法
- PHP中用set_time_limit(0)长连接的实现--更新数据库时间限制中断解决方法
- php时间戳函数实现计算第几周,以及当天所在周的具体日期范围
- 解析PHP计算页面执行时间的实现代码
- php 计算时间差的方法(原创)包括天、小时、分、秒
- php中计算时间差的几种方法
- php 计算程序运行时间的类,以及用它和Curl结合Host,实现不用配置Host得到该测试机的访问速度。
- php中实现精确设置session过期时间的方法
- 在php和MySql中计算时间差的方法
- php中实现精确设置session过期时间的方法
- 转:php中实现精确设置session过期时间的方法
- php中计算时间差的几种方法
- php计算时间差的方法
- php中计算时间差的几种方法
- php实现指定日期之间的间隔天数计算方法
- c#计算时间差实现方法
- php中计算时间差的几种方法
- 队列应用银行排队问题模拟:计算客户的平均停留时间和等待时间以及每个客户的时间信息,两种方法实现
- PHP 与MYSQL、oracle的时间差距计算方法