Ok so I wanted to write some PHP that would display if a store was open or closed during its operation hours. My current code displays this: “The time is: hh:mm am/pm and we are currently open/closed.” Which is exactly what I want it to do, but it just seems overly complicated and messy to me. I just started learning PHP this week and am looking for a little insight to clean coding I guess.
Here is what I have:
[code=php]<?php
$date = new DateTime(date(‘h:i’));
$date -> modify(‘-25200 seconds’);
$day = date(‘w’);
$time = date(‘H’);
$hoursTueWedFri = array(16, 17, 18, 19, 20, 21, 22, 23);
$hoursThu = array(00, 16, 17, 18, 19, 20, 21, 22, 23);
$hoursSat = array(16, 17, 18, 19, 20, 21, 22);
//time is 7 hrs ahead
<p>The time is: <?php echo $date->format(‘g:i a’); ?> and we are currently
<?php
if ($day == 0) {
echo “closed”;
}
if ($day == 1) {
echo “closed”;
}
if ($time == $hoursTueWedFri) {
echo “open”;
}
elseif ($time == $hoursThu) {
echo “open”;
}
elseif ($time == $hoursSat) {
echo “open”;
}
else {
echo “closed”;
}
//Store Hours:
//Sunday – CLOSED
//Monday – CLOSED
//Tuesday 9:00 AM – 6:00 PM = 16 – 23
//Wednesday 9:00 AM – 6:00 PM = 16 – 23
//Thursday 9:00 AM – 7:00 PM = 16 – 00
//Friday 9:00 AM – 6:00 PM = 16 – 23
//Saturday 9:00 AM – 5:00 PM = 16 – 22
?>.</p>
You’ll notice that I modified the date for my time zone. This isn’t urgent or anything, I just want to try and learn how to clean my code up so I can get better!
Thoughts?