2015-09-22 12 views
8

DateTimeクラスで日付/時刻を使用して操作するよりもずっと簡単なので、私のアプリケーションにPHP Carbonを使い始めました。私がしたいことは、選択した日付($ selected_date)が別の日付($ whitelist_date)よりも大きいかどうかをチェックすることです。私は以下のコードでこれを試しました:PHP Carbon Check Chosen Dateが他の日付よりも大きい場合

$chosen_date = new Carbon($chosen_date); 

    $whitelist_date = Carbon::now('Europe/London'); 
    $whitelist_date->addMinutes(10); 

    echo "Chosen date must be after this date: ".$whitelist_date ."</br>"; 
    echo "Chosen Date: ".$chosen_date ."</br>"; 

    if ($chosen_date->gt($whitelist_date)) { 

     echo "proceed"; 
    } else { 
     echo "dont proceed"; 
    } 

オリジナルの$ selected_date値はPOSTデータから来ます。ここで私が得る出力されます。

Chosen date must be after this date: 2015-09-22 21:21:57 
Chosen Date: 2015-09-22 21:01:00 
proceed 

は明らかに選択した日付は、ホワイトリストの日付より大きくないが、それでも文はtrueを返し、エコーの場合は、「続行します」。コードを何度も繰り返してきましたが、どこが間違っているのか分かりません。

+0

を使用して、異なるタイムゾーンを設定しますか? –

+0

これはフォームの入力をエコーし​​ます。たとえば、 '09/22/2015 9:36 PM' - この形式です。 – aqq

答えて

6

それは可能.....タイムゾーンが同じではないので、この

$chosen_date = new Carbon($chosen_date, 'Europe/London'); 

$whitelist_date = Carbon::now('Europe/London'); 
$whitelist_date->addMinutes(10); 

はあなたが常に構築することができます覚えていてみてくださいインスタンスおよびそのためのタイムゾーン設定:

$date = new Carbon(); 
$date->setTimezone('Europe/London'); 

$whitelist_date = $date->now(); 

タイムゾーンの異なるユーザーのデータを管理するためのヒントを教えてください。

異なるタイムゾーンで異なるオブジェクトを作成することができます。これを試して、結果を試してみてください。

$london_date = new Carbon($chosen_date_from_london, 'Europe/London'); 
$colombia_date = new Carbon($chosen_date_from_colombia, 'Bogota/America'); 

あなたがそれらを比較するのは、言ってみましょう:

$are_different = $london_date->gt($colombia_date)); 
var_dump($are_different); //FALSE 

いや、彼らはあなたが時計で、世界のさまざまな部分で見つめたとき、彼らは別の時間だが、彼らは」、違うじゃありません同じ今の瞬間、今もなお。そこ

あなたが行く、カーボンのちょうどクレート異なるオブジェクトまたはインスタンス()、およびコンストラクタに入る前に$ chosen_dateエコー何$instance->setTimeZone(TimeZone);

+0

パーフェクト!それは今のところ働いているような問題でした。さまざまなタイムゾーンを持つユーザーのデータを管理する方法に関するヒント – aqq

+0

更新された回答。 –

+0

ありがとう、私はそれに乗るよ! – aqq

-2

または、次のいずれかを使用してみてください。

if ($chosen_date->gte($whitelist_date)) 
+1

違いはありません。 – aqq

+1

OPはまたより大きい、より大きい、またはより大きい... –

関連する問題