2018年08月01日
Docker for Mac を使って WordPress の...
2018年07月29日
Docker for Mac のインストール
2018年07月08日
Docker 便利コマンドあれこれ
2018年07月08日
オライリーの Docker 本(Docker Up &...
2018年07月05日
iPad mini 2 を購入しました
2018年07月04日
Docker で Jenkins するときのあれこれ

HOME > カテゴリ(PHP)の記事

PHP で「2015-06-02T05:53:07-07:00」みたいな日付形式を整形してみる



久しぶりの PHP。ずーっと PHP していませんでしたが、久しぶりに書いてみようかな。。とふと思う。

「2015-06-02T05:53:07-07:00」みたいな日時形式を「2015年6月2日」みたいに PHP で整形して表示したい。

UNIXタイムスタンプが取得できれば date() で整形できることは知っているんだけど、そもそも「2015-06-02T05:53:07-07:00」の日時形式がわからないので、ちょっと困った。

っでググってみたら「2015-06-02T05:53:07-07:00」どうやら ISO8601 形式 というものみたい。

ちなみに良く出てくる「Mon, 01 Jun 2015 22:00:29 +0900」みたいのは RFC2822 で定義されている形式なんだとか。

ってことで ISO8601 から UNIXタイムスタンプに変換方法をググったらそのものズバリがありました。

参考:Qiita: ISO8601形式の時刻をUNIXタイムスタンプに

それによると、strtotime() の引数に ISO8601形式を渡してあげれば UNIXタイムスタンプが返ってくるとのこと。

そうすればあとは date() で整形してあげるだけ。

参考:PHP: date – Manual

ってことで、


で無事に「2015年6月2日」と整形できました。

ちなみに RFC2822 の日付も同じように strtotime() を使って、


で整形できるみたいです。

ついでに、

date('r',strtotime('2001-02-03T04:05:06+09:00'));
// Sat, 03 Feb 2001 04:05:06 +0900

とすると ISO8601 から FRFC2822 に変換できるみたいです。
参考:日付と時刻をTで繋ぐ表記方法 – MEMO:はてな支店

でわでわ。






この記事にコメントする





Copyright © 2012 - 2013 MacBook Air とWordPressでこうなった All rights reserved
Designed by Theme Junkie. Powered by WordPress.