PHP如何获取指定日期的星期及一周内所有日期?

2026-04-02 19:471阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计806个文字,预计阅读时间需要4分钟。

PHP如何获取指定日期的星期及一周内所有日期?

PHP 获取日期对应星期、一周日期、星期开始与结束日期的方法示例:

php

// 获取一周的日期function getWeekDates($date) { $start=date('Y-m-d', strtotime($date)); $end=date('Y-m-d', strtotime($date . ' +6 days')); $dates=[]; for ($i=0; $i <=6; $i++) { $dates[]=date('Y-m-d', strtotime($start . ' +'. $i . ' days')); } return $dates;}

// 获取星期的开始与结束日期function getWeekStartEnd($date) { $start=date('Y-m-d', strtotime($date . ' -'. (date('w', strtotime($date)) - 1) . ' days')); $end=date('Y-m-d', strtotime($start . ' +6 days')); return ['start'=> $start, 'end'=> $end];}

// 示例$date='2023-01-01';echo 星期: . getWeekday($date) . \n;echo 一周日期: . implode(', ', getWeekDates($date)) . \n;echo 星期开始与结束日期: . json_encode(getWeekStartEnd($date)) . \n;?>

本文实例讲述了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:这里再为大家推荐几款时间及日期相关工具供大家参考:

在线日期/天数计算器:
tools.jb51.net/jisuanqi/date_jisuanqi

在线日期计算器/相差天数计算器:
tools.jb51.net/jisuanqi/datecalc

在线日期天数差计算器:
tools.jb51.net/jisuanqi/onlinedatejsq

Unix时间戳(timestamp)转换工具:
tools.jb51.net/code/unixtime

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php日期与时间用法总结》、《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《php面向对象程序设计入门教程》、《PHP网络编程技巧总结》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

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

PHP如何获取指定日期的星期及一周内所有日期?

本文共计806个文字,预计阅读时间需要4分钟。

PHP如何获取指定日期的星期及一周内所有日期?

PHP 获取日期对应星期、一周日期、星期开始与结束日期的方法示例:

php

// 获取一周的日期function getWeekDates($date) { $start=date('Y-m-d', strtotime($date)); $end=date('Y-m-d', strtotime($date . ' +6 days')); $dates=[]; for ($i=0; $i <=6; $i++) { $dates[]=date('Y-m-d', strtotime($start . ' +'. $i . ' days')); } return $dates;}

// 获取星期的开始与结束日期function getWeekStartEnd($date) { $start=date('Y-m-d', strtotime($date . ' -'. (date('w', strtotime($date)) - 1) . ' days')); $end=date('Y-m-d', strtotime($start . ' +6 days')); return ['start'=> $start, 'end'=> $end];}

// 示例$date='2023-01-01';echo 星期: . getWeekday($date) . \n;echo 一周日期: . implode(', ', getWeekDates($date)) . \n;echo 星期开始与结束日期: . json_encode(getWeekStartEnd($date)) . \n;?>

本文实例讲述了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:这里再为大家推荐几款时间及日期相关工具供大家参考:

在线日期/天数计算器:
tools.jb51.net/jisuanqi/date_jisuanqi

在线日期计算器/相差天数计算器:
tools.jb51.net/jisuanqi/datecalc

在线日期天数差计算器:
tools.jb51.net/jisuanqi/onlinedatejsq

Unix时间戳(timestamp)转换工具:
tools.jb51.net/code/unixtime

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php日期与时间用法总结》、《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《php面向对象程序设计入门教程》、《PHP网络编程技巧总结》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

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

PHP如何获取指定日期的星期及一周内所有日期?