专栏首页技术小牛php获取第N周的日期区间的工具方法

php获取第N周的日期区间的工具方法

php的日期库函数是很强大的,比如获取某个时间戳是当年度的第几周,可以用date(‘W’,$timestamp)实现,但如果已知是第几周,想取这周对应的时间区间怎么处理呢?

php的库函数里没有相应的方法,所以我封装了以下方法:

/**
     * 获取第n周的日期区间
     * @param [int] $no 要获取第几周的日期
     * @param [string] $dateFormat 日期格式
     * @return string 日期区间字符串
     */
    public static function getDateByWeekNum($no, $dateFormat = 'Y.m.d'){
        $newYearDate = strtotime(date('Y').'-01-01 00:00:01');
        //当前是这个星期的第几天
        $dateOrder = date('N', $newYearDate);
        //国际惯例每年第一个星期一所在的周为第一周, 所以如果元旦是周一,则第一周就是当前这周,否则第一周从下周开始
        $leftDaysToNextMonday = $dateOrder > 1?7-$dateOrder+1:0;
        //第N周的起始天应该是从第N-1周+1天开始的
        $no--;
        $startDate = strtotime("+{$no} week", strtotime("+$leftDaysToNextMonday days", $newYearDate));
        $endDate = strtotime('+6 days', $startDate);
        return date($dateFormat, $startDate).'~'.date($dateFormat, $endDate);
    }

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • ThinkPHP中获取指定日期后工作日的具体日期方法

    1、获取到查询年份内所有工作日数据数组 2、获取到查询开始日期在工作日的索引 3、计算需查询日期索引 4、获得查询日期

    砸漏
  • php 获取指定日期是的星期几,根据本周周一时间 获取本周时间对应的7天星期

    eisc
  • PHP获取本周所有日期或者最近七天所有日期的方法

    本篇文章主要为大家介绍下php如何获取本周的所有日期,或者最近七天的所有日期。希望可以帮助到有需要的朋友

    PHP开发工程师
  • Java&Android获取当前日期、时间、星期几、获取指定格式的日期时间、时间戳工具类包含使用示例

    时间格式内部其余的横线“-”、空格“ ”、冒号“:”、点号“.”等字符仅仅是连接符,方便观看各种单位的时间数字而已,国内,也可以使用形如“yyyy年dd日HHm...

    晨曦_LLW
  • 小程序获取当前日期和时间点的方法

    3:在需要使用的js文件中,导入jsvar util = require('../../utils/util.js'); js:

    王小婷
  • Android开发:获取当前系统时间和日期的方法

    最近接手了公司Android项目,一直在处理Android项目的App的开发,作为半路起家,总结了一些Android开发的心得和知识点,然后就写下来记录一下,分...

    三掌柜
  • PHP时间函数使用详解

    PHP开发中,关于时间函数的使用基本上可以说是无处不在,而PHP中操作时间的方法也很多,比如PHP时间戳、日期与时间戳之间的转换、获取当前日期、当前时间之前或之...

    砸漏
  • PHP获取当前时间、年份、月份、日期和天数

    其中参数 format 为显示格式,参数 timestamp 为时间戳,是可选择的,默认为 time() ,即如果没有给出时间戳则使用本地当前时间。

    德顺
  • php获取本年、本月、本周时间戳和日期格式的实例代码

    cal_days_in_month(par1,par2,par3);par1 :用来计算的某种历法,PHP Calendar 常量 par2 :参数par1选中...

    砸漏
  • PHP中的国际化日历类

    在 PHP 的国际化组件中,还有一个我们并不是很常用的跟日期相关的操作类,它就是日历操作类。说是日历,其实大部分还是对日期时间的操作,一般也是主要用于日期的格式...

    硬核项目经理
  • PHP格式化显示时间date()函数代码

    Date/Time 函数允许您从 PHP 脚本运行的服务器上获取日期和时间。您可以使用 Date/Time 函数通过不同的方式来格式化日期和时间。

    砸漏
  • PHP格式化显示时间date()函数代码

    Date/Time 函数允许您从 PHP 脚本运行的服务器上获取日期和时间。您可以使用 Date/Time 函数通过不同的方式来格式化日期和时间。

    砸漏
  • PHP获取当前系统时间的方法小结

    首先需要知道的是在php中获取时间方法是date(),在php中获取时间戳方法有time()、strtotime()。下面分别说明。 date() 格式为:da...

    砸漏
  • PHP获取当前系统时间的办法小结

    首先需要知道的是在php中获取时间办法是date(),在php中获取时间戳办法有time()、strtotime()。下面分别说明。 date() 格式为:da...

    砸漏
  • PHP中的日期相关函数(三)

    之前我们已经介绍过了 PHP 的一些相关的日期操作对象,今天我们就来学习剩下的那些面向过程的使用方式。当然,如果是和 DateTime 类中相似的方法我们就不再...

    硬核项目经理
  • php时间函数 time()和Date()详解

    使用函式 date() 实现  <?php echo $showtime=date("Y-m-d H:i:s");?>  显示的格式: 年-月-日 小时:分...

    V站CEO-西顾
  • PHP获取星期几的常用方法小结

    因为date函数非常强大,他完全可以胜任一切这样的工作我附个手册里的表吧 方便随时查阅

    砸漏
  • “干掉” Date,Java8 LocalDate 简直不能贼香,赶紧来艿一口~

    伴随 lambda表达式、streams 以及一系列小优化,Java 8 推出了全新的日期时间API。

    芋道源码
  • PHP中的日期相关函数(一

    日期相关的操作函数是我们在日常的工作开发中最常接触到的功能。当然,大部分同学可能最多用到的就是 date() 、 time() 这两个函数,我们今天先不讲这两个...

    硬核项目经理

扫码关注云+社区

领取腾讯云代金券