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