Calculating start and end dates of a week.
A friend asked "How do I calculate start (monday) and end (sunday) dates from a given week number for a specified year?" Instead of having to come up with your own algorithm you can simply do the following in PHP 5.1 and higher:
<?php
// Monday
echo date(
datetime::ISO8601,
strtotime("2006W37"));
// Sunday
echo date(
datetime::ISO8601,
strtotime("2006W377"));
?>
The format is " year 'W' weeknr ( daynr )?" where the default daynr is 1 being the Monday of that week. The daynr can be in the range 0 to 7. The weeknr is the ISO week number . Please note that the " year '-W' weeknr ( '-' daynr )?" format is only supported in PHP 5.2 and higher.
Comments
Thanks Derek, that is going to make life a lot easier!
Keep it simple and just do strtotime('-1 Sunday',$currentDay);
it is simpler and uses less resources.
or you could use PEAR::Date(), it makes it very easy as well
@Ammar: Why would you want to use a wrapper class in PHP when the extension supports it?
Hey Dereck
thanks for confirming yet again why I love the Internet... I've been playing around with this particular problem for the last few days... any solution I had was not nearly as elegant and simple as this... glad I found this posting...will help tremendously.
echo date("Y-m-d", strtotime(date("Y").'W'.date('W')."7"));
If 1 for daynr represents monday, what does 0 represent? How can it accept values 0-7?
Thnx! Just what I was looking for!
Thank you very much!
Excellent example of exactly what a lot of people need. Please keep this example up for the rest of the PHP newbs like me!
You have just saved me a lot of time on deadline day at work.
Thanks!
Thank you very much. This threat was my first search result: "php calculate start end week"..
Wow. I had no clue about this. Thanks, man!
Very very usefull, I knew about the W weeks implemented in recent php but this is pretty useful, saved me on a thing I have to do at work :)
Excellent...!
Exactly what I was looking for.
Even in 2013 this is very useful, thanks! Saved me much work
Thank you! I was getting very frustrated trying to get my dates to format properly, you're a lifesaver!
Life Line
Merge branch 'xdebug_3_5'
Merged pull request #1060
Style fixes, and make log message type and text consistent
Fixed issue #2395: Change Windows Named Pipe control socket implement…
I've just finished reading "Children of Ruin", by Adrian Tchaikovsky.
The second book in the series, following Children of Time (the one with the spiders).
Great read, but a little creepy at times.
I walked 8.4km in 1h21m38s
Merged pull request #1061
Pin PHPStan version
I walked 9.3km in 1h32m07s
I've just put the first event in my calendar for... 2027.
Looking forwards to seeing a match in the snooker Masters at Ally Pally!
Under the Waterloo station arches at Leake Street.
This specific area is set aside for grafity artists.
RE: https://phpc.social/@phpc_tv/115917245540319542
This means you can now follow @xdebug from Mastodon too!
I walked 9.0km in 1h30m55s
I hiked 18.2km in 3h39m00s
Created a bar and an events_venue; Deleted a pub
Updated a restaurant; Deleted a clothes shop
I walked 8.5km in 1h22m28s
I walked 5.0km in 47m19s
Added Trogolo, and fixed duplicated addresses
I've finished my first book of the year, The Basic Soldering Guide Handbook.
Now I "just" need to put the learned knowledge into practise.
I walked 1.8km in 19m57s
Merged pull request #1058
Sort Xdebug modes in particular order, change performance label






Shortlink
This article has a short URL available: https://drck.me/csaedoaw-4wr