FUDforum
Fast Uncompromising Discussions. FUDforum will get your users talking.

Home » Imported messages » comp.lang.php » How To Find All Weeks First date and Last date?
Show: Today's Messages :: Polls :: Message Navigator
Return to the default flat view Create a new topic Submit Reply
Re: How To Find All Weeks First date and Last date? [message #174398 is a reply to message #174396] Fri, 10 June 2011 00:41 Go to previous message
Jeff North is currently offline  Jeff North
Messages: 58
Registered: November 2010
Karma:
Member
On Thu, 09 Jun 2011 20:03:30 -0400, in comp.lang.php Jerry Stuckle
<jstucklex(at)attglobal(dot)net>
<isrn11$sg8$1(at)dont-email(dot)me> wrote:

> | On 6/9/2011 8:25 AM, Amit Pawar wrote:
> | > Hi,
> | >
> | > I want to find All no of week in any month.
> | > And first and last date of that week.
> | >
> | > Assume Month is Jan 2011
> | >
> | > date in Y-m-d
> | > 1st week -> Start date=2011-01-01 End date=2011-01-01
> | > 2nd week -> Start date=2011-01-02 End date=2011-01-08
> | > 3rd week -> Start date=2011-01-09 End date=2011-01-15
> | > 4th week -> Start date=2011-01-16 End date=2011-01-22
> | > 5th week -> Start date=2011-01-23 End date=2011-01-29
> | > 6th week -> Start date=2011-01-30 End date=2011-01-31
> |
> | First of all, what day does your week start on? Sunday, from the looks
> | of it, but need to be sure.
> |
> | Next, most calendars would consider that since Jan 1 is on a Saturday,
> | that is part of the last week of 2010, and the first week of 2010 would
> | start on Jan 2.
> |
> | So first you need to find the first Sunday. This is pretty easy to do by
> | getting the day of week for 2011-01-01 as a number (1-7 for
> | Monday-Sunday). See date() for DateTime::format() with the 'N' format.
> |
> | From there it's a simple matter to get the end of the week by adding 6
> | days (DateInteral object). You can then get the start of the next week
> | by either adding 1 day to the end of the week or 7 days to the start
> | of the previous week.
> |
> | Not too hard if you look up the DateTime object in the manual. It
> | contains all the references you need. See
> | http://us.php.net/manual/en/class.datetime.php.
> |
> | (Note: adding 60*60*24*7 seconds will be off by one hour for 1/2 the
> | year if you run Daylight Savings Time in the summer - not necessarily a
> | problem if you only are interested in dates).

Just to add to Jerry's post:
The problem of Daylight Saving Time can be corrected by making sure
that the time is set to midday not midnight i.e.
<?php
$Aday = 60 * 60 * 24;
$dt = strtotime('2011-01-01 12:00:00');
for( $x=0; $x<53; $x++ ) {
echo date ( "W w Y-m-d", $dt )."<br>";
$dt += $Aday * 7;
}
?>
Change the 12:00:00 to 00:00:00 to see what effect the DST has on the
calculations.

The interesting part is that the date() drops a whole day when DST
starts and picks up the correct date when DST ends.
[Message index]
 
Read Message
Read Message
Read Message
Read Message
Previous Topic: hai sweety
Next Topic: Install GD on Windows
Goto Forum:
  

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ]

Current Time: Thu Nov 28 16:28:40 GMT 2024

Total time taken to generate the page: 0.04582 seconds