2016-07-11 13 views
2

からのDateTimeを作成私は日付と時刻の両方を送信するフォームを持っている、と私はこれらの値に基づいて、1つの DateTimeオブジェクトを作成したい日付の文字列と時刻の文字列

$submission['time']値は次のようになります。 45:00'

$submission['date']値は次のようになります。 'これが壊れたしかし、私は

var_dump(\DateTime::createFromFormat(
    'Y-m-d TH:i:s', $reportArray['date'] . ' ' . $reportArray['time']) 
); // also tried without 'T' (TH:i:s) 

を試してみた2016年7月11日'

スクリプト。

1つの日付文字列と1時間文字列からDateTimeオブジェクト\ 1を作成するための簡単な方法はありますか?あなたはフォーマットで使用している

+0

私は時間文字列の先頭に「T」の問題だと思います。それは変わることはありますか?それは何をするためのものか? –

+0

私はそれが実際に私はそれが正しいことだと思うしていない、夏時間@KIKOSoftwareを示していると思います。 –

+1

はい、フォーマットの 'T'は、時間帯ではなく、「T」を表します。あなたはこのフォーマットを試すことができます: ''Y-m-d \ TH:i:s''。バックスラッシュは 'T'を文字通りの 'T'にエスケープします。ああ、あなたは本当にスペースを追加する必要はありません。 –

答えて

2

「T」をタイムゾーンではなく、文字通りの「T」を表しています。このフォーマットは'Y-m-d\TH:i:s'です。バックスラッシュは 'T'を文字通りの 'T'にエスケープします。あなたがそれを必要としないので、スペースを省いた。このように、「T」は常に存在し、決して変化しないと仮定します。

+0

入力のこの種の ')' createFromFormatを(使用する必要はありません。それは完全に有効な入力ですので、 'new DateTime()':[demo](https://eval.in/603415)を使用してください。 –

0

この

<?php 
$d1=$submission['date']='2016-07-11'; 
$t1=$submission['time']='T09:45:00'; 
$con=$d1.$t1; 
$displaytime=date('d-m-Y H:i:s A',strtotime($con)); 
echo $displaytime; 
?> 

を試してみてくださいそれは次のように出力を与えます:あなたが望んでいた2016年11月7日九時45分00秒AM

関連する問題