2016-11-07 5 views
0

です。Y-m-dからd-m-YにPHPの日付形式を変換しています。PHPの日付の日付の問題は、(1300)

$dob = ($post['dob']!='')?date('d-m-Y',strtotime($post['dob'])):''; 

しかし、結果は次のとおりです:日付は1399年10月10日で、変換後、私は1970年1月1日

のような結果を持ってここに私のコードです01-01 -1970

私はこの結果を必要とする:1399年10月10日

は誰が解決するために私を導くことができます この問題?

+1

$ postは間違っています$ _POST ['dob'] –

答えて

1

編集者は、64ビットバージョンのPHPを実行している場合、Jeroenが述べたように、以下のように動作するように思われます。コメントの下に、サンドボックスサイトに作業コピーがあります。

$post['dob']の内容を確認し、私が

$date = '1399-10-10'; 
echo date('d-m-Y', strtotime($date)); 

、これを実行し、これを得た可能性が高いだろう変数がない場合よりも

10-10-1399 

より$postなく$_POST

です正しい。


第二のオプションは、以下を使用することで、

$date = new DateTime('1399-10-10'); 
echo $date->format('d-m-Y'); 

これは$post$postなく$_POSTであり、変数の内容が正しいことと仮定勿論です。

+0

これも '$ post ['dob'] = '1399-10-10'です。 $ strtotime($ post ['dob'])): ''); $ dob =($ post ['dob']!= ' echo $ dob; ' – Blinkydamo

+0

WTHは?あなた自身でそのコードを試しましたか? 5.6と7.0の両方で問題なく動作します。 – Blinkydamo

+0

@jeroen http://sandbox.onlinephpfunctions.com/code/3a354cf6e692535f6392a2eab96a611783b19038 – Blinkydamo