2016-05-18 13 views
-2

PHPのファイルに'27/05/2016 11:25 PM 'の日付を渡すjquery関数があります。 PHPファイルはこれをデータベースに更新します。PHP strtotimeがfalseを返す

私はこの文字列を'05/27/2016 11:25 PM 'という日付形式に変換するのにstrtotimeを使用していますが、strtotimeはfalseを返します。

私のPHPの日付変換:彼らは日付の途中で開始し、そこから外側に働く日付の奇妙USA形式、など/ seperatorsと、デフォルトの扱い日付によって

$EndDate = strtotime($Date); 
$NewEndDateValue = date('m/d/Y h:i A', $EndDate); 

var_dump($NewEndDateValue); //this returns false 
+1

'$ Date'は失敗しました。 –

+2

あなたはかなり受け入れられない答えをbtw持っています。そう、私はそれを取るすべての未解決の?またはちょうど知らない[​​Stack rolls](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work);-) –

+3

あなたが日付を渡しているなら'/'セパレータをstrtotime()に設定すると、PHPはそれを[PHPドキュメント](http://www.php.net/manual/en/datetime.formats)に記述されているUS書式(m/d/Y)___asとして扱います。 .date.php)___、カレンダーには月27がないので、無効なのでfalseを返します –

答えて

2

strtotime()(図に行きます) 。論理マシン(コンピュータ)がそのように動作することを期待するには、そのように話すのは罰金ですが、全く論理的ではありません。

とにかく、/-に変換すると、date()は論理的な日付形式になり、動作します。

<?php 
$Date = '27/05/2016 11:25 PM'; 
$dat = str_replace('/', '-', $Date); 
$EndDate = strtotime($dat); 

$NewEndDateValue = date('m/d/Y h:i A', $EndDate); 

var_dump($NewEndDateValue); // "05/27/2016 11:25 PM" 
+1

'/'を '.'に置き換えることもできます。 –

+0

@EduardoGalván私は、有用な情報を知らなかった – RiggsFolly

+0

OoOOooooooohいいえ!彼らがあなたをその穴に追い込ませてはいけない! –