2011-09-09 27 views
5

私は(2002)年持って、私は次の形式にそれを取得しようとしている:php - フォーマット日付ISO8601?

2002-00-00T00:00:00

私はこれの最後には、このでした、様々な繰り返しを試してみました:

$testdate = DateTime::createFromFormat(DateTime::ISO8601, date("c")) 
echo date_format($testdate, '2002'); 

しかし、私は近くに来ていても、常に+00追加するようだ:それの最後に00 ...

答えて

13

PHPで「C」の形式は、常にタイムゾーンのオフセットを付加します。あなたはそれを避けることはできません。しかし、あなたがコンポーネントから日付を自分で構築することができます:

date('Y-m-d\TH:i:s', $testdate); 
+0

は、私はいつも必要以上に物事をより複雑にしているようだ...ありがとう! – KumbaThought

+1

mg!私はこれを長い間探していました。私は 'c'の部分を理解しましたが、私がTから脱出しなければならないことを知らなかった。私はT.ありがとう。 –

+4

gmdate( 'Y-m-d \ TH:i:s \ Z'、$ date) – 4esn0k

0
date('Y-m-d\TH:i:s\Z', time() - date('Z')); 
+5

詳細については、詳細をご記入ください – Rumit

+0

このコードスニペットをご利用いただきありがとうございます。適切な説明(* meta.stackexchange.com/q/114762)は、*なぜ*これが問題の良い解決策であるかを示すことで長期的な価値を向上させ、将来の読者にとって他の同様の質問。あなたの前提を含め、あなたの答えを[編集]して説明を加えてください。 –

関連する問題