Thanks for the code snippet.
I see that everybody defaults to a season.  I was doing a && comparison
between two seasons, so that's why it messed up when it into the new year.

Thanks to Bogdan and Tom for the helpers.  I can go debug my code.  And make
it less complicated. ^_^;;;
(It's was a lot longer than what is here.)

----- Original Message -----
From: "Tom Rogers" <[EMAIL PROTECTED]>
To: "webapprentice" <[EMAIL PROTECTED]>; "Bogdan Stancescu"
<[EMAIL PROTECTED]>
Cc: <[EMAIL PROTECTED]>
Sent: Saturday, January 05, 2002 11:17 PM
Subject: Re: [PHP] Checking the season


> Hi
> This should work:
> <?
> $year = date("Y");
> $spring = mktime (0,0,0,3,21,$year);
> $summer = mktime (0,0,0,6,21,$year);
> $autumn = mktime (0,0,0,9,21,$year);
> $winter = mktime (0,0,0,12,21,$year);
> $now = mktime();
> if($now < $spring || $now >= $winter):
>          echo "Winter";
> elseif($now >= $autumn):
>          echo "Autumn";
> elseif($now >= $summer):
>          echo "Summer";
> else:
>          echo "Spring";
> endif;
> ?>
>   BTW There may be a bug in mktime() (php4) if you use 08 or 09 in the
> month part...on my system this happens
> (linux/apache/php4.1)
>
> <?
> $autumn = mktime (0,0,0,09,21,2002);
> echo "date = ".date("d/m/Y",$autumn)."<br>";
> ?>
>
> This prints: date = 21/12/2001
>
> Also prints the same date for a month of 08
>
> Tom
>
>
>
> At 11:34 AM 6/01/02, webapprentice wrote:
> >I'll have to use and if/elseif construct, because I don't believe a
switch()
> >constructs cases can take expressions, can it?
> >
> >
> >----- Original Message -----
> >From: "Bogdan Stancescu" <[EMAIL PROTECTED]>
> >To: "webapprentice" <[EMAIL PROTECTED]>
> >Cc: <[EMAIL PROTECTED]>
> >Sent: Saturday, January 05, 2002 11:38 AM
> >Subject: Re: [PHP] Checking the season
> >
> >
> > > You could do a case() or if/elseif, check if it's spring, summer or
autumn
> >and leave the code for winter as default/else.
> > >
> > > Bogdan
> > >
> > > webapprentice wrote:
> > >
> > > > Hi,
> > > > Just need a sounding board to help me think this through.
> > > >
> > > > I want to check the current date to determine what "season" it is
and
> >display the appropriate picture.
> > > >
> > > > I define spring as 03/21/YYYY, summer as 06/21/YYYY, autumn as
> >09/21/YYYY, and winter as 12/21/YYYY.
> > > >
> > > > I form a string for the current date and get a timestamp via
mktime().
> > > > I also get the equivalent timestamps for the dates above for the
> >seasonal changes.
> > > >
> > > > Then, I compare the current date to see if it's between the seasonal
> >dates.
> > > > The problem is when I go from 12/31/YYYY to 01/01/(YYYY+1).
> > > > Since winter and spring dates are one year apart, the current date
> >timestamp comparison gets messed up and nothing displays.
> > > >
> > > > How do I do a proper comparison?  I was thinking of just seeing if
the
> >current date timestamp is greater than each of the seasonal date
timestamp,
> >but it feels like I would miss something.  Would I?  Or is there another
> >solution?
> > > >
> > > > Thank you for your time.
> > > >
> > > > --Stephen
> > >
> > >
> >
> >
> >--
> >PHP General Mailing List (http://www.php.net/)
> >To unsubscribe, e-mail: [EMAIL PROTECTED]
> >For additional commands, e-mail: [EMAIL PROTECTED]
> >To contact the list administrators, e-mail: [EMAIL PROTECTED]
>


-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to