2016-08-15 8 views
1

私のような、私のiOSアプリから日付文字列を取得します:PHP - 私のPHPスクリプトで比較すると、日付

$myTime  = $app->request()->post('myTime'); // 2016-08-15 20-02 
$date = date('Y-m-d H-i', strtotime($myTime)); 

は今、私は私のiOSアプリからの日付を持っていることを、私は自分のチェックをしたいです予約/予約のためのデータベース、および私のiOSアプリから日付が期間の間にあるかどうかを確認+/-データベースからの日付の10時間:

// $book['book_datetime'] is confirmed 2016-08-15 20:38:00 

$plusTen = date('Y-m-d H:i:s', strtotime($book['book_datetime'])+36000); 
$minusTen = date('Y-m-d H:i:s', strtotime($book['book_datetime'])-36000); 

if((strtotime($date) > strtotime($minusTen)) && (strtotime($date) < strtotime($plusTen))) { 

    //should be true 

} else { 

} 

if文は真である必要がある場合、しかし、それは働いていません。なぜ誰かが私に言うことができますか?

+0

あなたはタイプミスがあります。 'H-i'は' Hでなければなりません: –

+0

i'あなたはDateTimeオブジェクトにそれを設定した後、あなたが '日付(...)'コマンドでそれをスクラップに進み、 '$のdate'を書く上でもある???? – RiggsFolly

+0

@JohnConde申し訳ありませんが、日付を示すコメントに実際にエラーがありました。私は –

答えて

0

あなた

$date = date('Y-m-d H-i', strtotime($myTime)); 

文句を言わない仕事あなたは非標準の時刻形式を持っているよう。

代わりにあなたの奇数日時フォーマットからタイムスタンプを取得するには、このようDateTimeクラスを使用します。

$myTime = $app->request()->post('myTime'); // 2016-08-15 20-02 
$mydt = DateTime::createFromFormat('Y-m-d H-i', $myTime); 

$date = $mydt->getTimestamp(); 

あなたはコメントを再:

私はCLIからこのコードを実行し、それはあなたがエラーを取得する場合は、多分$app->request()->post('myTime');からあなたのdatetime値が形式であなたではありません

<?php 
$myTime = '2016-08-15 20-02'; 
$mydt = DateTime::createFromFormat('Y-m-d H-i', $myTime); 

echo $mydt->getTimestamp() . PHP_EOL; 
echo $mydt->format('Y-m-d H:i:s') . PHP_EOL; 

の作品考えてください

+0

を働いていた私はエラーを取得しています:「メンバ関数getTimestamp(の呼び出し)非オブジェクトの」 –

+0

うーんPHPのバージョンは、バージョン5.4.43を使用して – RiggsFolly

+0

使用していますか?を –

関連する問題