首页 后端开发 php教程 PHP计算某时间段内有几个周及某时间为今年第几周

PHP计算某时间段内有几个周及某时间为今年第几周

Jun 20, 2016 pm 01:03 PM
倒计时

PHP计算某时间段内有几个周及某时间为今年第几周函数

date_default_timezone_set('PRC');
function count_weeks($startDate, $endDate = ''){
  //开始时间
  $startDate = date('Y-m-d', $startDate);
  //结束时间
  if(empty($endDate)) {
    $endDate = date('Y-m-d');
  }else{
    $endDate = date('Y-m-d', $endDate);
  }
  //跨越天数
  $n = (strtotime($endDate)-strtotime($startDate))/86400;
  //判断,跨度小于7天,可能是同一周,也可能是两周
  $endDate = date("Y-m-d",strtotime("$endDate +1 day"));
  if($n<7){
      //查开始时间 在 那周 的 位置
      $day            = date("w",strtotime($startDate))-1;
      //查开始时间  那周 的 周一
      $week_start        = date("Y-m-d",strtotime("$startDate -{$day} day"));
      //查开始时间  那周 的 周末
      $day            = 7-$day;
      $week_end        = date("Y-m-d",strtotime("$startDate +{$day} day"));
      //判断周末时间是否大于时间段的结束时间,如果大于,那就是时间段在同一周,否则时间段跨两周
      if($week_end>=$endDate){        
          $weekList[] =array(&#39;s&#39;=>$startDate, &#39;e&#39;=>date("Y-m-d",strtotime("$endDate -1 day")));
      }else{
          $weekList[] =array(&#39;s&#39;=>$startDate, &#39;e&#39;=>date("Y-m-d",strtotime("$week_end -1 day")));        
          $weekList[] =array(&#39;s&#39;=>$week_end, &#39;e&#39;=>date("Y-m-d",strtotime("$endDate -1 day")));    
      }
  }else{
      //如果跨度大于等于7天,可能是刚好1周或跨2周或跨N周,先找出开始时间 在 那周 的 位置和那周的周末时间
      $day         = date("w",strtotime($startDate))-1;
      $week_start  = date("Y-m-d",strtotime("$startDate -{$day} day"));
      $day         = 7-$day;
      $week_end    = date("Y-m-d",strtotime("$startDate +{$day} day"));
      //先把开始时间那周写入数组
      $weekList[]  =array(&#39;s&#39;=>$startDate, &#39;e&#39;=>date("Y-m-d",strtotime("$week_end -1 day"))); 
      //判断周末是否大于等于结束时间,不管大于(2周)还是等于(1周),结束时间都是时间段的结束时间。
      if($week_end >= $endDate){
          $weekList[] = array(&#39;s&#39;=>$week_end, &#39;e&#39;=>date("Y-m-d",strtotime("$endDate -1 day")));
      }else{
         //N周的情况用while循环一下,然后写入数组
          while($week_end <= $endDate){
              $start         = $week_end;
              $week_end    = date("Y-m-d",strtotime("$week_end +7 day"));
              if($week_end <= $endDate){
                  $weekList[]  = array(&#39;s&#39;=>$start, &#39;e&#39;=>date("Y-m-d",strtotime("$week_end -1 day")));
              }else{
                  $weekList[]  = array(&#39;s&#39;=>$start, &#39;e&#39;=>date("Y-m-d",strtotime("$endDate -1 day")));
              }
          }
      }
  }
  return $weekList;
}
登录后复制

PHP获取某时间为今年第几周方法

date(&#39;W&#39;)
登录后复制

 


本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

Java教程
1662
14
CakePHP 教程
1419
52
Laravel 教程
1312
25
PHP教程
1262
29
C# 教程
1235
24
如何通过C++编写一个简单的倒计时程序? 如何通过C++编写一个简单的倒计时程序? Nov 03, 2023 pm 01:39 PM

C++是一种广泛使用的编程语言,在编写倒计时程序方面非常方便和实用。倒计时程序是一种常见的应用,它能为我们提供非常精确的时间计算和倒计时功能。本文将介绍如何使用C++编写一个简单的倒计时程序。实现倒计时程序的关键就是使用计时器来计算时间的流逝。在C++中,我们可以使用time.h头文件中的函数来实现计时器的功能。下面是一个简单的倒计时程序的代码

如何使用Vue实现按钮倒计时特效 如何使用Vue实现按钮倒计时特效 Sep 21, 2023 pm 02:03 PM

如何使用Vue实现按钮倒计时特效随着Web应用程序的日益普及,我们经常需要在用户与页面进行交互时使用一些动态效果来提升用户体验。其中,按钮的倒计时特效是非常常见且实用的一种效果。本文将介绍如何使用Vue框架来实现按钮倒计时特效,并给出具体的代码示例。首先,我们需要创建一个Vue组件,包含一个按钮和倒计时的功能。在Vue中,组件是一种可复用的Vue实例,视图会

win10开机10秒倒计时怎么取消? Win10取消开机倒计时的三种方法 win10开机10秒倒计时怎么取消? Win10取消开机倒计时的三种方法 Feb 29, 2024 pm 07:25 PM

在win10中,开机倒数默认是启用的。当我们在开机之后,会看到一个倒数计时的界面,通常是10秒的倒数。在这个时间之内,我们可以选择是否继续开机或者进行一些其它的操作。虽然开机倒数为我们的系统带来了些许便利,但在一些情况下也可能带来麻烦。想取消显示,但是不知道怎么操作,这篇文章是本站给大家带来的Win10开机几秒倒计时取消方法。了解win10开机倒数在win10中,开机倒数默认是启用的。当我们在开机之后,会看到一个倒数计时的界面,通常是10秒的倒数。在这个时间之内,我们可以选择是否继续开机或者进行

如何使用CSS制作倒计时效果的实现步骤 如何使用CSS制作倒计时效果的实现步骤 Oct 26, 2023 am 10:36 AM

如何使用CSS制作倒计时效果的实现步骤倒计时效果是网页开发中常见的一个功能,可以为用户呈现倒计时的动态效果,给人以紧迫感和期待感。本文将介绍如何使用CSS来实现倒计时效果,并给出详细的实现步骤和代码示例。实现步骤如下:步骤一:HTML结构搭建首先,在HTML中创建一个div容器,用于包裹倒计时的内容。例如:&lt;divclass="countd

基于JavaScript开发网页倒计时应用 基于JavaScript开发网页倒计时应用 Aug 08, 2023 am 09:55 AM

基于JavaScript开发网页倒计时应用随着互联网的发展,网页应用在我们的生活中扮演着越来越重要的角色。其中,倒计时应用是一种常见的功能,在各种场合都有广泛的应用。本文将介绍如何使用JavaScript开发一个简单的网页倒计时应用,并附上相应的代码示例。一、创建HTML结构首先,我们需要创建一个HTML文件,用于构建网页倒计时应用的基本结构。在文档的&lt

uniapp实现如何使用定时器实现页面倒计时效果 uniapp实现如何使用定时器实现页面倒计时效果 Oct 18, 2023 am 11:18 AM

Uniapp是一个跨平台的开发框架,可以使用它来开发多种类型的应用程序,包括小程序、H5、安卓、iOS等。在Uniapp中,页面倒计时效果可以使用定时器来实现。定时器可以设置一个时间间隔,在每个时间间隔内执行指定的代码,从而实现页面倒计时的效果。下面是一个示例,演示如何使用定时器实现页面倒计时效果。首先,在需要显示倒计时的页面中的.vue文件中添加以下代码:

如何使用Vue实现验证码倒计时特效 如何使用Vue实现验证码倒计时特效 Sep 19, 2023 am 11:36 AM

如何使用Vue实现验证码倒计时特效随着互联网的发展,验证码已经成为了保护用户安全的重要手段之一。为了提高用户体验,我们可以使用倒计时特效来提示用户获取验证码的剩余时间。本文将介绍如何使用Vue来实现验证码倒计时的特效,并提供具体的代码示例。首先,我们需要创建一个Vue组件来实现验证码倒计时功能。在该组件中,我们可以定义一个倒计时的时间变量,用于存储剩余的秒数

如何使用Vue实现倒计时功能 如何使用Vue实现倒计时功能 Nov 07, 2023 pm 04:05 PM

如何使用Vue实现倒计时功能在现代网页开发中,实现倒计时功能是非常常见的需求。而Vue作为一种流行的JavaScript框架,提供了便捷的方式来实现这一功能。本文将通过具体代码示例,介绍如何使用Vue来实现倒计时功能。首先,我们需要安装Vue。可以通过CDN引入Vue,也可以使用npm进行安装。这里我们选择使用CDN方式引入。&lt;!DOCTYPEhtm

See all articles