我有以下三個字符串(當前時間,日落和日出),如何查看當前時間是否在日出和日落之間?如何檢查時間是否在PHP之間的兩次
$current_time = "10:59 pm";
$sunrise = "5:42 am";
$sunset = "6:26 pm";
編輯:我不明白爲什麼我得到這麼多的反對票。我想這個網站是要問你是否不能自己做點什麼。
我想不出如何將時間轉換爲數字,因爲am/pm這就是爲什麼我問這個問題。我沒有看到任何類似的問題,所以我問。
我有以下三個字符串(當前時間,日落和日出),如何查看當前時間是否在日出和日落之間?如何檢查時間是否在PHP之間的兩次
$current_time = "10:59 pm";
$sunrise = "5:42 am";
$sunset = "6:26 pm";
編輯:我不明白爲什麼我得到這麼多的反對票。我想這個網站是要問你是否不能自己做點什麼。
我想不出如何將時間轉換爲數字,因爲am/pm這就是爲什麼我問這個問題。我沒有看到任何類似的問題,所以我問。
$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';
}
參考
我會recoment您先 「轉換」 的字符串用SUBSTR功能和INTVAL整數。
avter這一步,你應該能夠簡單地比較時間。 (請注意,您應該使用18:00而不是6:00 PM,這樣可以輕鬆處理,因此如果時間是AM或PM,您可以使用substr「檢測」,並且只需將「12」添加到數字)
我很舒服有這樣做的更優雅的方式,但這應該只是給你一個簡單的方法,爲不先進的PHP開發人員的基本思想。
希望它有幫助
strtotime()會比substr()更好, – CrabLab 2016-09-26 13:12:18
看看DateTime類,如果上述不幫助你,OP。 – phpisuber01 2013-04-09 19:57:10
我認爲這是不公平的。鏈接的其他答案嚴格處理日期。我認爲只要任何問題達到-1,人們就會「順其自然」。 – Evert 2013-04-09 19:58:00
@WebnetMobile我認爲比較日期有點不同,然後比較一天。 – Ace 2013-04-09 19:58:31