PHP で DateTime 型を文字列の日付に変換する方法と関数

MySQL とかに日付データを保存する際は DateTime 型もしくは Date 型かと思われますが、なぜか毎回この形式から文字列の2010年12月30日といった感じに変換するのに時間がかかります。原因としては strtotime を思い出せないからだったり。

1
echo date('Y年m月d日', strtotime('1990-06-05 08:00:00'));

というわけでこのようにメモしておけば私の悩みは解決するのですが、どうせこの記事書いたことも忘れそうなので関数を作って今後もち回そうということで関数を書いて、以下のように簡単に変換できるようにしました。

1
echo datetimeToString('2010-12-30 16:15:00', 'Y年m月d日');

datetime 型から文字列へという命名で覚えやすい関数のコードはとてもシンプルで以下のような感じです。

1
2
3
4
function datetimeToString($datetime, $string = '')
{
	return date($string, strtotime($datetime));
}

こうして置くと得られるメリットとしては、サイト内の全ての日付の表し方が変更になったとしても簡単に対応できるという点でしょうか。$string の値をデフォルトで持っておく仕組みなどにしておけば便利ですね。

コメント

コメントは受け付けていません。