以下を変更する必要があります
13/07/2012T15:00:00
に
13-7-2012
strtotime
同様に使用しようとしましdate
たが、機能しませんでした。なぜだろうと思っています。
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( "...")
。
入力されている文字列は、の有効な日付形式ではありませんstrtotime()
。特に、はフォーマット/
の区切りとして認識されていません。dd/m/yyyy
を変換するだけで問題/
が-
解決します。
13-07-2012T15:00:00
次に、次のことができます。
echo date('d-n-Y', strtotime('13-07-2012T15:00:00'));
この文字列を変換するには、簡単な文字列置換を行うことができます。
str_replace('/', '-', $input);
日付を取得する必要があるだけなので 13-7-2012
、「/」を「-」に置き換えて日付を取得します
date('d-n-Y', strtotime(str_replace('/', '-', '13/07/2012T15:00:00'));
こんな感じで簡単にできます
$today = date("m.d.y");
詳細については、これらのリファレンスを使用してください