此为工作笔记。

需求背景:每个月的1号不可能都是从周一开始,因此需要截取上月的最后几天;相对的每个月的最后一天也不可能就是周日,因此需要获取下月的前几天。

以2022-07月为例,需要获取的日期范围数据为:2022-06-27 -- 2022-07-31

/*** 获取周一-周日月度数据* @param string $month 月份,格式:2022-12* @return array 全部的日期list*/
function getNatureMonthDays($month)
{$week_keys = [1, 2, 3, 4, 5, 6, 0];$sdate = $month . '-01';$sdate_week = date('w', strtotime($sdate));$edate = date('Y-m-t', strtotime($sdate));$edate_week = date('w', strtotime($edate));$sdate_search = array_search($sdate_week, $week_keys);$edate_search = array_search($edate_week, $week_keys);if ($sdate_search != 0) {$sdate = date('Y-m-d', strtotime("-{$sdate_search} day", strtotime($sdate)));}if ($edate_search != 6) {$edate_search_diff = 6 - $edate_search;$edate = date('Y-m-d', strtotime("+{$edate_search_diff} day", strtotime($edate)));}$dt_start = strtotime($sdate);$dt_end = strtotime($edate);$days[] = date('Y-m-d', $dt_start);while ($dt_start < $dt_end) {$dt_start = strtotime('+1 day', $dt_start);$days[] = date('Y-m-d', $dt_start);}return $days;
}$month = '2022-07';
var_dump(getNatureMonthDays($month));

返回示例:

PHP根据月份获取周一-周日日期范围数据相关推荐

  1. Java-通过年和月获取当前月有几个周一并获取周一的日期

    Java-通过年和月获取当前月有几个周一并获取周一的日期 业务需求想获取一个月中的有几个周一,并获取对应的日期,在网上找了一圈, 没找到,就动手写了一个,记录下. 直接上代码: import java ...

  2. 关于获取excel的日期格式数据问题

    今天接到了一个任务,计算加班时长,在过程中遇到了一个问题.在我获取上班时间的时候,返回给我的却是一个莫名其妙的数据-----31-十二月-1899 .下图是实际数据和我获取到的数据 于是带着这个问题, ...

  3. pythin怎么根据月份获取月初和月末_数据统计丨7月份塑料市场明显回暖,8月份是否延续乐观行情?...

    据统计,2020年7月东莞市场现货总成交量为618959.83吨,同比上月减少1.02吨. 7月份塑料行情整体较好,虽然期间有回落走势,但较6月份行情来说明显回暖,现在看来7月份塑料行情仍以小涨为主. ...

  4. java 本周一_java 获取本周一的日期

    java 获取本周一的日期 /** * 根据时间,获取周一的日期 * * @param curDate * 字符串形式 * @return */ public static String getMon ...

  5. 获取当前周的周一的日期和周日的日期

    // 计算本周的日期 getDate (n) { let now = new Date() let year = now.getFullYear() // 因为月份是从0开始的,所以获取这个月的月份数 ...

  6. 获取周一到周日的日期

    获取周一到周日具体代码如下: //获取周一到周天的日期Monday="" //周一Sunday=""//周日getMondayAndSunday() {var ...

  7. Java 周日期计算工具,获取当前第几周,按周数获取周一至周日,按日期获取周一至周日

    记一个自己写的工具类: 1.按时间获取当前第几周 getzs 3.按日期获取周一至周日getgetBetweenDates2 4.按年份跟周数获取周一至周日 getgetBetweenDates3 结 ...

  8. js 获取本周 周一-周日的日期,周一周日问题特殊处理

    需求获取本周周一-周日的日期 var now = new Date();var nowTime = now.getTime() ;var day = now.getDay();var oneDayTi ...

  9. PHP获取自然周日期(周一~周日)

    使用date()函数:PHP: date - Manual w 星期中的第几天,数字表示 0(表示星期天)到 6(表示星期六) $time = time(); // 可设定日期$week_day_nu ...

最新文章

  1. rocketmq 组监听_最全的RocketMQ学习指南,程序员必备的中间件技能
  2. 业界 | 德勤预测:机器学习走向移动端成大势所趋,或将再掀行业新浪潮
  3. linux+sysrq+键盘调试,内核调试 – MagicSysRq - 嵌入式 Linux 知识库
  4. 【C++进阶】利用重载二元运算符改进平面向量类Vec2D
  5. React封装一个组件弹出框
  6. RAID阵列基础知识
  7. 转:比尔·盖茨和理查德·斯托曼
  8. 实用素材模板|常见的UI设计手法
  9. 以房养老骗局高发,背后套路何在?
  10. 机器学习如何从 Python 2 迁移到 Python 3
  11. WPS中Excel二维表转一维表
  12. 谨记:只看背驰会死翘翘的!
  13. mysql等级保护_网络安全等级保护测评-MYSQL篇
  14. 苹果经典提示音_千篇一律?一招教你如何修改苹果微信提示音
  15. 信号完整性(SI)电源完整性(PI)学习笔记(二十七)S参数在信号完整性中的应用(二)
  16. Typescript浅尝
  17. python爬虫工程师面试自我介绍范文_计算机工程师面试自我介绍范文五篇
  18. 微信小程序 MinUI 组件库系列之 label 标签组件
  19. 原生JS实现加载进度条
  20. GEANT4的B4a例子要点

热门文章

  1. web原型图设计软件软件_如何在2020年选择最佳的Web设计软件(比较)
  2. JAVA 小型点餐系统 文章中含有源码
  3. 简易两位二进制乘法器设计
  4. 【浏览器】浏览器的缓存机制
  5. makefile 文本处理函数subst、patsubst、filter
  6. makefile中的两个函数(wildcard和patsubst)
  7. 隐形的翅膀 vijos_1237 (离散)
  8. 初识express(简介,安装和基本使用),路由(express处理路由)
  9. System.InsufficientMemoryException:无法分配536870912字节的托管内存缓冲区。可用内存量可能不足...
  10. win7计算机双击空白,Win7系统电脑Windows功能无法显示怎么办|Windows功能显示空白的两种解决方法...