0

以下を変更する必要があります

13/07/2012T15:00:00

13-7-2012

strtotime同様に使用しようとしましdateたが、機能しませんでした。なぜだろうと思っています。

4

5 に答える 5

4

DateTimeこれを正しく解析するために使用します。そうすれば、元の入力を操作する必要はなく、次のDateTime::createFromFormat()ように にフィードするだけです。

$date = DateTime::createFromFormat( '!d/m/Y+', "13/07/2012T15:00:00", new DateTimeZone( "America/New_York"));
echo $date->format( 'd-n-Y');

これは印刷されます

13-7-2012

への呼び出しで正しいタイムゾーンを設定していることを確認してくださいnew DateTimeZone( "...")

于 2012-07-17T12:50:48.650 に答える
1

入力されている文字列は、の有効な日付形式ではありませんstrtotime()。特に、はフォーマット/の区切りとして認識されていません。dd/m/yyyy

を変換するだけで問題/-解決します。

13-07-2012T15:00:00

次に、次のことができます。

echo date('d-n-Y', strtotime('13-07-2012T15:00:00'));

この文字列を変換するには、簡単な文字列置換を行うことができます。

str_replace('/', '-', $input);
于 2012-07-17T12:43:35.753 に答える
0

日付を取得する必要があるだけなので 13-7-2012、「/」を「-」に置き換えて日付を取得します

date('d-n-Y', strtotime(str_replace('/', '-', '13/07/2012T15:00:00'));
于 2012-07-17T12:51:31.023 に答える
0

これをチェックして:

date("d-n-Y", strtotime(str_replace('/', '-', "13/07/2012T15:00:00")) )

コード・アット・ワーク

于 2012-07-17T12:46:49.853 に答える
-1

こんな感じで簡単にできます

$today = date("m.d.y");

詳細については、これらのリファレンスを使用してください

http://php.net/manual/en/function.date.php

于 2012-07-17T12:56:21.780 に答える