How to check if time is between two times in PHP [duplicate]
$current_time = "4:59 pm";
$sunrise = "5:42 am";
$sunset = "6:26 pm";
$date1 = DateTime::createFromFormat('h:i a', $current_time);
$date2 = DateTime::createFromFormat('h:i a', $sunrise);
$date3 = DateTime::createFromFormat('h:i a', $sunset);
if ($date1 > $date2 && $date1 < $date3)
{
echo 'here';
}
See it in action
Reference
- DateTime
i would recoment you to first "convert" the strings to integers using substr function and intval.
avter this step you should be able to simply compare the times.
( note that you should use 18:00 instead of 6:00 PM, this would be easyer to handl, therefor you could "detect" with substr if the time is AM or PM, and just add "12" to the number )
i'm pretty shure there are more elegant ways of doing this, but this should just give you an BASIC idea for a SIMPLE way for not advanced php developers.
hope it helps