PHP根据月份获取周一-周日日期范围数据
此为工作笔记。
需求背景:每个月的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根据月份获取周一-周日日期范围数据相关推荐
- Java-通过年和月获取当前月有几个周一并获取周一的日期
Java-通过年和月获取当前月有几个周一并获取周一的日期 业务需求想获取一个月中的有几个周一,并获取对应的日期,在网上找了一圈, 没找到,就动手写了一个,记录下. 直接上代码: import java ...
- 关于获取excel的日期格式数据问题
今天接到了一个任务,计算加班时长,在过程中遇到了一个问题.在我获取上班时间的时候,返回给我的却是一个莫名其妙的数据-----31-十二月-1899 .下图是实际数据和我获取到的数据 于是带着这个问题, ...
- pythin怎么根据月份获取月初和月末_数据统计丨7月份塑料市场明显回暖,8月份是否延续乐观行情?...
据统计,2020年7月东莞市场现货总成交量为618959.83吨,同比上月减少1.02吨. 7月份塑料行情整体较好,虽然期间有回落走势,但较6月份行情来说明显回暖,现在看来7月份塑料行情仍以小涨为主. ...
- java 本周一_java 获取本周一的日期
java 获取本周一的日期 /** * 根据时间,获取周一的日期 * * @param curDate * 字符串形式 * @return */ public static String getMon ...
- 获取当前周的周一的日期和周日的日期
// 计算本周的日期 getDate (n) { let now = new Date() let year = now.getFullYear() // 因为月份是从0开始的,所以获取这个月的月份数 ...
- 获取周一到周日的日期
获取周一到周日具体代码如下: //获取周一到周天的日期Monday="" //周一Sunday=""//周日getMondayAndSunday() {var ...
- Java 周日期计算工具,获取当前第几周,按周数获取周一至周日,按日期获取周一至周日
记一个自己写的工具类: 1.按时间获取当前第几周 getzs 3.按日期获取周一至周日getgetBetweenDates2 4.按年份跟周数获取周一至周日 getgetBetweenDates3 结 ...
- js 获取本周 周一-周日的日期,周一周日问题特殊处理
需求获取本周周一-周日的日期 var now = new Date();var nowTime = now.getTime() ;var day = now.getDay();var oneDayTi ...
- PHP获取自然周日期(周一~周日)
使用date()函数:PHP: date - Manual w 星期中的第几天,数字表示 0(表示星期天)到 6(表示星期六) $time = time(); // 可设定日期$week_day_nu ...
最新文章
- rocketmq 组监听_最全的RocketMQ学习指南,程序员必备的中间件技能
- 业界 | 德勤预测:机器学习走向移动端成大势所趋,或将再掀行业新浪潮
- linux+sysrq+键盘调试,内核调试 – MagicSysRq - 嵌入式 Linux 知识库
- 【C++进阶】利用重载二元运算符改进平面向量类Vec2D
- React封装一个组件弹出框
- RAID阵列基础知识
- 转:比尔·盖茨和理查德·斯托曼
- 实用素材模板|常见的UI设计手法
- 以房养老骗局高发,背后套路何在?
- 机器学习如何从 Python 2 迁移到 Python 3
- WPS中Excel二维表转一维表
- 谨记:只看背驰会死翘翘的!
- mysql等级保护_网络安全等级保护测评-MYSQL篇
- 苹果经典提示音_千篇一律?一招教你如何修改苹果微信提示音
- 信号完整性(SI)电源完整性(PI)学习笔记(二十七)S参数在信号完整性中的应用(二)
- Typescript浅尝
- python爬虫工程师面试自我介绍范文_计算机工程师面试自我介绍范文五篇
- 微信小程序 MinUI 组件库系列之 label 标签组件
- 原生JS实现加载进度条
- GEANT4的B4a例子要点
热门文章
- web原型图设计软件软件_如何在2020年选择最佳的Web设计软件(比较)
- JAVA 小型点餐系统 文章中含有源码
- 简易两位二进制乘法器设计
- 【浏览器】浏览器的缓存机制
- makefile 文本处理函数subst、patsubst、filter
- makefile中的两个函数(wildcard和patsubst)
- 隐形的翅膀 vijos_1237 (离散)
- 初识express(简介,安装和基本使用),路由(express处理路由)
- System.InsufficientMemoryException:无法分配536870912字节的托管内存缓冲区。可用内存量可能不足...
- win7计算机双击空白,Win7系统电脑Windows功能无法显示怎么办|Windows功能显示空白的两种解决方法...