24時間形式の日付と時刻
この形式の日付がありますFri, 15 Jan 2016 15:14:10 +0800
、このように時間を表示したい2016-01-15 15:14:10
。
私が試したのは:
$test = 'Fri, 15 Jan 2016 15:14:10 +0800';
$t = date('Y-m-d G:i:s',strtotime($test));
echo $t;
ただし、次の形式で日付を表示しています:2016-01-15 7:14:10
、 そのはず 2016-01-15 15:14:10
。
これどうやってするの?
代わりに H
を使用します。
_$test = 'Fri, 15 Jan 2016 15:14:10 +0800';
$t = date('Y-m-d H:i:s',strtotime($test));
echo $t;
_
[〜#〜] h [〜#〜]:24時間形式の先行ゼロ00〜23
Gは同じである必要がありますが、先行ゼロはありません。あなたのPHPは_+0800
_とは異なるタイムゾーンに設定されています。タイムゾーン(date_default_timezone_get()
)を確認できますか?
編集
OPは、彼のタイムゾーンがUTCに設定されていることを確認しました。この場合、date
はPHPのデフォルトのタイムゾーンを使用するため、午前7を表示するという完全な意味を覆い隠します。
タイムゾーンを「継承」したい場合、柔軟性を高めながら、 DateTime
に切り替える必要があります。
_echo (new DateTime($test))->format("Y-m-d H:i:s");
_