-3

I'm doing an if/else statement for posting different info at different times of year.

I want the years to be variable though so I don't have to change them every year.

<? if ((time() > strtotime("1/1/2019 12:00 AM"))) && (time() < strtotime("5/31/2019 12:00 AM"))) : ?> 
Thursday thru Saturday 10 to 5<br>
Sunday 12 to 5<br>
Closed Monday, Tuesday, Wednesday<br><br>
<? elseif ((time() > strtotime("5/31/2019 12:00 AM")) && 
(time() < strtotime("9/4/2019 12:00 AM"))) : ?>
Monday thru Saturday 10 to 5<br>
Sunday 12 to 5<br><br>
<? elseif ((time() > strtotime("9/4/2019 12:00 AM")) && 
(time() < strtotime("12/31/2019 11:59:59 PM"))) : ?>
Wednesday thru Saturday: 10 to 5<br>
Sunday 12 to 5<br>
Closed Monday and Tuesday<br><br>
<? endif; ?>
Mohammad
  • 21,175
  • 15
  • 55
  • 84

1 Answers1

0

Use date("Y") instead of year.

<? if ((time() > strtotime("1/1/" . date("Y") . " 12:00 AM"))) && (time() < strtotime("5/31/" . date("Y") . " 12:00 AM"))) : ?> 
Thursday thru Saturday 10 to 5<br>
Sunday 12 to 5<br>
Closed Monday, Tuesday, Wednesday<br><br>
<? elseif ((time() > strtotime("5/31/" . date("Y") . " 12:00 AM")) && 
(time() < strtotime("9/4/" . date("Y") . " 12:00 AM"))) : ?>
Monday thru Saturday 10 to 5<br>
Sunday 12 to 5<br><br>
<? elseif ((time() > strtotime("9/4/" . date("Y") . " 12:00 AM")) && 
(time() < strtotime("12/31/" . date("Y") . " 11:59:59 PM"))) : ?>
Wednesday thru Saturday: 10 to 5<br>
Sunday 12 to 5<br>
Closed Monday and Tuesday<br><br>
<? endif; ?>

It seems you don't need the last elseif.

<? if ((time() > strtotime("1/1/" . date("Y") . " 12:00 AM"))) && (time() < strtotime("5/31/" . date("Y") . " 12:00 AM")))  || ((time() > strtotime("9/4/" . date("Y") . " 12:00 AM")) : ?> 
Thursday thru Saturday 10 to 5<br>
Sunday 12 to 5<br>
Closed Monday, Tuesday, Wednesday<br><br>
<? else : ?>
Monday thru Saturday 10 to 5<br>
Sunday 12 to 5<br><br>
<? endif; ?>

That means you only need one if, and a else.

Andreas
  • 23,610
  • 6
  • 30
  • 62