2017-12-15 12 views
-1

私はPHPには慣れていないし、日時マニュアルを少し難解だと思っている。現在の時刻が指定された2つの期間の間にあるかどうかを確認しますか?

現在の時刻date('h:i a', time());が、指定された2つの時間間隔$startTime$endTimeの間にあるかどうかをチェックしたいと思います。

どこ$startTime = "5:00AM"$endTime = "8:00AM".

私は(($currentTime >= $startTime) && ($currentTime <= $endTime))のようなロジックで同様の質問を見てきましたが、何も作業していません。私はここで非常に基本的な何かを逃していると思う。

助けてください。

これは、私が

var_dump($startTime); string(6) "8:00AM" 
var_dump($endTime); string(6) "5:00PM" 
$startTime = new DateTime($startTime); 
$endTime = new DateTime($endTime); 
$now = new DateTime(); 

if ($now >= $startTime && $now < $endTime) { 
    pr('Time now is between start and end time'); 
} 

but It is not working 
+1

よりもしようとしたものです人間が読める時間が含まれているフォーマットされていない文字列 –

+0

は、これらの文字列をタイムスタンプに変換する方法はありますかs –

+0

このhttp://php.net/manual/en/class.datetime.phpとhttp://php.net/manual/en/book.datetime.php – Edwin

答えて

2

strtotime()

変換時間、このコードを試してみて、それらの既存の答えが、比較のためのタイムスタンプ値を使用しているためだcompare two timeその作業

<?php 
$currentTime =date('h:i A', time()); 
$startTime = "5:00 AM"; 
$endTime = "8:00 AM"; 

if((strtotime($currentTime) >= strtotime($startTime)) && (strtotime($currentTime) <= strtotime($endTime))){ 
    echo $currentTime; 
} 

?> 
+0

これは動作していません。 –

+0

@ User101あなたの現在の時間は、その2倍の間に**現在**ですか?そうでなければ、それは働くつもりはありません... – JustCarty

+0

何が働いていません..? – Bhargav

関連する問題