PHP计算一年多少个星期和每周的开始和结束日期

2014-07-10  来源:本站原创  分类:php实例  人气:2 

这篇文章主要介绍了PHP计算每周的开始和结束日期,php实现计算一年多少周,同时计算出每一周的开始日期和结束日期,需要的朋友可以参考下

项目中需要做个提交周报的功能,需要知道指定周数的开始日期和结束日期,以便处理其他业务。以下是一段通过PHP来获取一年中的每星期的开始日期和结束日期的代码,与大家分享。

function get_week($year) { 

    $year_start = $year . "-01-01"; 

    $year_end = $year . "-12-31"; 

    $startday = strtotime($year_start); 

    if (intval(date('N', $startday)) != '1') { 

        $startday = strtotime("next monday", strtotime($year_start)); //获取年第一周的日期 

    } 

    $year_mondy = date("Y-m-d", $startday); //获取年第一周的日期 

    $endday = strtotime($year_end); 

    if (intval(date('W', $endday)) == '7') { 

        $endday = strtotime("last sunday", strtotime($year_end)); 

    } 

    $num = intval(date('W', $endday)); 

    for ($i = 1; $i <= $num; $i++) { 

        $j = $i -1; 

        $start_date = date("Y-m-d", strtotime("$year_mondy $j week ")); 

        $end_day = date("Y-m-d", strtotime("$start_date +6 day")); 

        $week_array[$i] = array ( 

            str_replace("-", 

            ".", 

            $start_date 

        ), str_replace("-", ".", $end_day)); 

    } 

    return $week_array; 

} 

函数get_week()通过传入参数$year年份,获取当年第一天和最后一天所在的周数,计算第一周的日期,通过循环获取每一周的第一天和最后一天的日期。最后返回是一个数组。
想得到指定周数的开始日期和结束日期,比如2011年第18周的开始日期和结束日期,代码如下:

复制代码 代码如下:

$weeks = get_week(2011); 

echo '第18周开始日期:'.$weeks[18][0].''; 

echo '第18周结束日期:'.$weeks[18][1]; 

最后输出结果:

第18周开始日期:2011.05.02
第18周结束日期:2011.05.08

相关文章
  • PHP计算一年多少个星期和每周的开始和结束日期 2014-07-10

    这篇文章主要介绍了PHP计算每周的开始和结束日期,php实现计算一年多少周,同时计算出每一周的开始日期和结束日期,需要的朋友可以参考下 项目中需要做个提交周报的功能,需要知道指定周数的开始日期和结束日期,以便处理其他业务.以下是一段通过PHP来获取一年中的每星期的开始日期和结束日期的代码,与大家分享. function get_week($year) { $year_start = $year . "-01-01"; $year_end = $year . "-12-31&q

  • PHP计算指定日期所在周的开始和结束日期的方法 2015-01-23

    这篇文章主要介绍了PHP计算指定日期所在周的开始和结束日期的方法,涉及php操作日期时间的技巧,具有一定参考借鉴价值,需要的朋友可以参考下 本文实例讲述了PHP计算指定日期所在周的开始和结束日期的方法.分享给大家供大家参考.具体实现方法如下: <html> <head> <title>计算一周开始结束日期</title> </head> <body> <form method="post" action=&q

  • PHP获取一年中每个星期的开始和结束日期的方法 2015-04-03

    这篇文章主要介绍了PHP获取一年中每个星期的开始和结束日期的方法,涉及php对日期操作的技巧,具有一定参考借鉴价值,需要的朋友可以参考下 本文实例讲述了PHP获取一年中每个星期的开始和结束日期的方法.分享给大家供大家参考.具体分析如下: 最近项目中需要做个提交周报的功能,需要知道指定周数的开始日期和结束日期,以便处理其他业务.以下是一段通过PHP来获取一年中的每星期的开始日期和结束日期的代码,与大家分享. 以下是一段通过PHP来获取一年中的每星期的开始日期和结束日期的代码. function g

  • PHP获取一年中的每星期的开始日期和结束日期 2012-02-08

    项目中需要做个提交周报的功能,需要知道指定周数的开始日期和结束日期,以便处理其他业务.以下是一段通过PHP来获取一年中的每星期的开始日期和结束日期的代码,与大家分享. function get_week($year) { $year_start = $year . "-01-01"; $year_end = $year . "-12-31"; $startday = strtotime($year_start); if (intval(date('N', $star

  • PHP获取当前日期所在星期(月份)的开始日期与结束日期(实现代码) 2015-02-18

    本篇文章是对PHP获取当前日期所在星期(月份)的开始日期与结束日期的实现代码进行了详细的分析介绍,需要的朋友参考下 废话不多少,上代码 // 获取指定日期所在星期的开始时间与结束时间 function getWeekRange($date){ $ret=array(); $timestamp=strtotime($date); $w=strftime('%u',$timestamp); $ret['sdate']=date('Y-m-d 00:00:00',$timestamp-($w-1)*8

  • 在sql Server自定义一个用户定义星期函数 2014-12-03

    程序开发过程中需要做周别统计与显示报表.在做之前,得先找出所在年份周别的开始日期与结束日期.每年每周的开始与结束日期都不尽相同.为了该功能,在sql Server自定义一个用户定义星期函数 文件:.wmv:大小:19,535KB:长度:00:26:39. 下载地址:SqlFunction_udf_Week.rar 以下内容于20120105更新: 2012年刚到,开发的软件使用这个函数发现bug.2012年第一周应该是2012-01-01至2012-01-07,但此函数却把2012-01-08至

  • SQL Server日期计算第1/2页 2013-11-14

    SQL Server日期计算 通常,你需要获得当前日期和计算一些其他的日期,例如,你的程序可能需要判断一个月的第一天或者最后一天.你们大部分人大概都知道怎样把日期进行分割(年.月.日等),然后仅仅用分割出来的年.月.日等放在几个函数中计算出自己所需要的日期!在这篇文章里,我将告诉你如何使用DATEADD和DATEDIFF函数来计算出在你的程序中可能你要用到的一些不同日期. 在使用本文中的例子之前,你必须注意以下的问题.大部分可能不是所有例子在不同的机器上执行的结果可能不一样,这完全由哪一天是一个

  • c# DateTime常用操作实例(datetime计算时间差) 2014-02-13

    字符串操作DateTime操作,datetime计算时间差,取当前时间,更多方法看下面代码 #region DateTime操作 public class C3 { //DateTime常用的操作 public static void Fun1() { //格式:2012-8-16 11:21:29 Console.WriteLine("当前时间:{0}", DateTime.Now.ToString()); //格式:2012-8-16 0:00:00 Console.WriteLi

  • Asp DatePart 函数的语法详解(用于计算日期并返回指定的时间间隔) 2014-07-22

    ASP(VBScript) 参考手册中,已经对 DatePart 作了说明,但其对第一个参数的解释太过书面,造成令人误解,现重新解释一下 DatePart 的语法是 DatePart(interval, date),用以取 date 的某部分. interval yyyy:date 中的年 m:date 中的月 d:date 中的日 h:date 中的时 n:date 中的分 s:date 中的秒 q:date 位于该年的第几季度,比如 2009-6-29 位于第 2 季度. y:date 位于

  • 在php和MySql中计算时间差的方法 2014-12-12

    在php中计算时间差有时候是件麻烦的事!不过只要你掌握了日期时间函数的用法那这些也就变的简单了. 最近在研究自己爱围脖的时候就要计算到恋爱天数,这需要php根据每天的日期进行计算,下面就来谈谈实现这种日期计算的几种方法: (1) 如果有数据库就很容易了!若是MSSQL可以使用触发器!用专门计算日期差的函数datediff()便可! 若是MYSQL那就用两个日期字段的差值计算的计算结果保存在另一个数值型字段中!用时调用便可! (2)如果没有数据库,那就得完全用php的时间日期函数! 下面主要说明之

  • 日历查询的算法 如何计算某一天是星期几 2015-02-27

    历史上的某一天是星期几?未来的某一天是星期几?关于这个问题,有很多计算公式,其中最著名的是蔡勒(Zeller)公式 如何计算某一天是星期几? -- 蔡勒(Zeller)公式 历史上的某一天是星期几?未来的某一天是星期几?关于这个问题,有很多计算公式(两个通用计算公式和一些分段计算公式),其中最著名的是蔡勒(Zeller)公式.即w=y+[y/4]+[c/4]-2c+[26(m+1)/10]+d-1 公式中的符号含义如下,w:星期:c:世纪-1:y:年(两位数):m:月(m大于等于3,小于等于14

  • 在php和MySql中计算时间差的方法详解 2015-03-09

    这篇文章主要介绍了在php和MySql中计算时间差的方法详解的相关资料,需要的朋友可以参考下 在php中计算时间差有时候是件麻烦的事!不过只要你掌握了日期时间函数的用法那这些也就变的简单了. 最近在研究自己爱围脖的时候就要计算到恋爱天数,这需要php根据每天的日期进行计算,下面就来谈谈实现这种日期计算的几种方法: (1) 如果有数据库就很容易了!若是MSSQL可以使用触发器!用专门计算日期差的函数datediff()便可!若是MYSQL那就用两个日期字段的差值计算的计算结果保存在另一个数值型字段

  • 计算一段日期内的周末天数的php代码(星期六,星期日总和) 2015-04-05

    算法没什么难点,核心思想就是将这个时间段调整为7的整数,然后乘以2,在减去或加上多算和少算的周六或周日,得到的就是星期六和星期日的总和. /* | Author: Yang Yu <[email protected]> | @param char|int $start_date 一个有效的日期格式,例如:20091016,2009-10-16 | @param char|int $end_date 同上 | @return 给定日期之间的周末天数 */ function get_weekend

  • python中关于时间和日期函数的常用计算总结(time和datatime) 2015-04-20

    python中关于时间和日期函数有time和datatime使用介绍,需要的朋友可以参考下 1.获取当前时间的两种方法: import datetime,time now = time.strftime("%Y-%m-%d %H:%M:%S") print now now = datetime.datetime.now() print now 2.获取上个月最后一天的日期(本月的第一天减去1天) 复制代码 代码如下: last = datetime.date(datetime.date

  • SQL Server日期计算 2012-03-09

    通常,你需要获得当前日期和计算一些其他的日期,例如,你的程序可能需要判断一个月的第一天或者最后一天.你们大部分人大概都知道怎样把日期进行分割(年.月.日等),然后仅仅用分割出来的年.月.日等放在几个函数中计算出自己所需要的日期!在这篇文章里,我将告诉你如何使用DATEADD和DATEDIFF函数来计算出在你的程序中可能你要用到的一些不同日期. 在使用本文中的例子之前,你必须注意以下的问题.大部分可能不是所有例子在不同的机器上执行的结果可能不一样,这完全由哪一天是一个星期的第一天这个设置决定.第一

  • SQL 时间计算总结. 2013-01-10

    通常,你需要获得当前日期和计算一些其他的日 期,例如,你的程序可能需要判断一个月的第一天或者最后一天.你们大部分人大概都知道怎样把日期进行分割(年.月.日等),然后仅仅用分割出来的年.月. 日等放在几个函数中计算出自己所需要的日期!在这篇文 章里,我将告诉你如何使用DATEADD和DATEDIFF函数来计算出在你的程序中可能你要用到的一些不同日期. 在使用本文中的例子 之前,你必须注意以下的问题.大部分可能不是所有例子在不同的机器上执行的结果可能不一样,这完全由哪一天是一个星期的第一天这个设置决

  • MSSQL 计算两个日期相差的工作天数的语句 2014-02-02

    MSSQL计算两个日期相差的工作天数的代码,需要的朋友可以参考下. if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[f_WorkDay]') and xtype in (N'FN', N'IF', N'TF')) drop function [dbo].[f_WorkDay] GO --计算两个日期相差的工作天数 CREATE FUNCTION f_WorkDay( @dt_begin datetime,

  • asp.net 获取某个时间段的星期并以表格形式排列出来 2014-07-13

    今天遇到了个关于时间的操作,而作为初学者的我,并不是很了解时间函数的操作,所以就园里问了下别人,经别人的帮助我自己实现了如何在某个时间段获取星期. 代码如下: string start = Request.Form.Get("date2").ToString(); //获取开始日期,此控件为html控件 string end = Request.Form.Get("date3").ToString(); //获取结束日期,此控件为html控件 string[] st

  • asp实现计算两个时间内的工作日的函数 2014-07-25

    <% '****************************** '函数:workdays(date_begin , date_end) '参数:date_begin,开始日期:date_end,结束日期 '作者:阿里西西 '日期:2007/7/15 '描述:计算两个时间内的工作日 '示例:workdays("2007-05-18" , "2007-05-21") '****************************** function workd

  • SQL 判断给定日期值(或时间段)所在星期的星期一和星期天的日期 2014-10-27

    最近报表要用到一项功能,需要把数据源根据记录发生日期所在的星期序列进行分组.因此就写了两个相关SQL Function进行调用. 一.给定一个日期值,求出此日期所在星期的星期一和星期天的日期数据 例如给定一个日期 2010-09-01,求出它所在星期的星期一是2010-08-30,星期天是2010-09-05 Function创建如下: USE [MSSQL] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE FUNCTION