PHP获取日期对应星期、一周日期、星期开始与结束日期的方法
本文实例讲述了PHP获取日期对应星期、一周日期、星期开始与结束日期的方法。分享给大家供大家参考,具体如下:
/* *获取日期对应的星期 *参数$date为输入的日期数据,格式如:2018-6-22 */ functionget_week($date) { //强制转换日期格式 $date_str=date('Y-m-d',strtotime($date)); //封装成数组 $arr=explode("-",$date_str); //参数赋值 //年 $year=$arr[0]; //月,输出2位整型,不够2位右对齐 $month=sprintf('%02d',$arr[1]); //日,输出2位整型,不够2位右对齐 $day=sprintf('%02d',$arr[2]); //时分秒默认赋值为0; $hour=$minute=$second=0; //转换成时间戳 $strap=mktime($hour,$minute,$second,$month,$day,$year); //获取数字型星期几 $number_wk=date("w",$strap); //自定义星期数组 $weekArr=array("0","1","2","3","4","5","6"); //获取数字对应的星期 return$weekArr[$number_wk]; } /** *获取一周日期 *@param$time时间戳 *@param$format转换格式 */ functionget_week($time,$format="Y-m-d"){ $week=date('w',$time); $weekname=array('星期一','星期二','星期三','星期四','星期五','星期六','星期日'); //星期日排到末位 if(empty($week)){ $week=7; } for($i=0;$i<=6;$i++){ $data[$i]['date']=date($format,strtotime('+'.$i+1-$week.'days',$time)); $data[$i]['week']=$weekname[$i]; } return$data; } /* *获取某星期的开始时间和结束时间 *time时间 *first表示每周星期一为开始日期0表示每周日为开始日期 */ functiongetWeekMyActionAndEnd($time='',$first=1) { //当前日期 if(!$time)$time=time(); $sdefaultDate=date("Y-m-d",$time); //$first=1表示每周星期一为开始日期0表示每周日为开始日期 //获取当前周的第几天周日是0周一到周六是1-6 $w=date('w',strtotime($sdefaultDate)); //获取本周开始日期,如果$w是0,则表示周日,减去6天 $week_start=date('Y-m-d',strtotime("$sdefaultDate-".($w?$w-$first:6).'days')); //本周结束日期 $week_end=date('Y-m-d',strtotime("$week_start+6days")); returnarray("week_start"=>$week_start,"week_end"=>$week_end); }
PS:这里再为大家推荐几款时间及日期相关工具供大家参考:
在线日期/天数计算器:
http://tools.jb51.net/jisuanqi/date_jisuanqi
在线日期计算器/相差天数计算器:
http://tools.jb51.net/jisuanqi/datecalc
在线日期天数差计算器:
http://tools.jb51.net/jisuanqi/onlinedatejsq
Unix时间戳(timestamp)转换工具:
http://tools.jb51.net/code/unixtime
更多关于PHP相关内容感兴趣的读者可查看本站专题:《php日期与时间用法总结》、《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《php面向对象程序设计入门教程》、《PHP网络编程技巧总结》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。