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程序设计有所帮助。