PHP gets the start and end dates for each week of the year

Source: Internet
Author: User

As for the example of the date of the PHP acquisition, the Fire Academy has given us a lot of information that can be retrieved using a fire search. Reading some technical blog today, I found that the city's blog has updated a "use PHP to get the start of each week of the beginning of the end of the date" log, particularly reproduced for you to learn, the following is the original content:

Recent projects need to do a weekly reporting function, you need to know the start date and end date of the specified number of weeks in order to handle other business. Here's a section of code that uses PHP to get the start and end dates of each week of the year to share with you.

Here's a section of code to get the start and end dates of each week in a year through 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 ("Nextmonday", Strtotime ($year _start)); Get the date of the first week of the year


$year _mondy = Date ("y-m-d", $startday); Get the date of the first week of the year

$endday = Strtotime ($year _end);

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

$endday =strtotime ("Lastsunday", 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;


The function Get_week () $year the year by passing in the parameter, gets the number of weeks of the first and last day of the year, calculates the first week's date, and iterates through the first and last days of each week. The last return is an array.

Get the start and end dates for a specified number of weeks, such as the start and end dates for the 18th week of 2011, as follows:

Copy to Clipboard

$weeks = Get_week (2011);

Echo ' 18th week start date: '. $weeks [18][0].

Echo ' 18th week End Date: '. $weeks [18][1];

Final output results:

1.18th Week Start Date: 2011.05.02

2.18th Week End Date: 2011.05.08

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.