This question already has an answer here:
-
How to calculate the difference between two dates using PHP?
32 answers
I have following three strings (current time, sunset and sunrise), how can I find if the current time is between the sunrise and sunset?
$current_time = "10:59 pm";
$sunrise = "5:42 am";
$sunset = "6:26 pm";
Edit: I don't understand why I got so many down votes. I suppose this site is meant to ask question if you can't do something on your own.
I could not figure out how to convert the time to the numbers because of am/pm thats why I asked the question. I did not see any similar question so I asked.
$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
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