php获取当前周得周一_PHP获取日期对应星期、一周日期、星期开始与结束日期的方法...

本文实例讲述了PHP获取日期对应星期、一周日期、星期开始与结束日期的方法。分享给大家供大家参考,具体如下:

/*

* 获取日期对应的星期

* 参数$date为输入的日期数据,格式如:2018-6-22

*/

function get_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 转换格式

*/

function get_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表示每周日为开始日期

*/

function getWeekMyActionAndEnd($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 +6 days"));

return array("week_start" => $week_start, "week_end" => $week_end);

}

PS:这里再为大家推荐几款时间及日期相关工具供大家参考:

希望本文所述对大家PHP程序设计有所帮助。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值