PHPでdatetime型のデータを年月日時分秒に分割する方法
2024/01/18
datetime型を年月日時分秒でそれぞれに分割させたい時に今まではいちいちexplodeで区切った上で一個ずつ変数に入れていっていた。もう少しスマートにできないかと調べたところ良さそうな方法があったのでメモ。
今までのやり方
$datetime = '2013-03-21 15:05:59';
$datetime1 = explode(' ', $datetime);
$date = explode('-', $datetime1[0]);
$year = $date[0];
$month = $date[1];
$day = $date[2];
新しいやり方
list($year, $month, $day, $hour, $minute, $second) = preg_split('/[-: ]/', $datetime);
var_dump($year, $month, $day, $hour, $minute, $second);
/*
string(4) "2013"
string(2) "03"
string(2) "21"
string(2) "15"
string(2) "05"
string(2) "59"
*/preg_split関数を用いて正規表現で文字列を分割し配列に入れると。-と:と半角スペースで区切ったものをlistで格納していったら一発だった。
関連記事
-
テキストエディタでデータ整形時によく使う正規表現
\n ⇒ 改行 \t ⇒ タブ \d+ ⇒ ...
-
正規表現のメタ文字大カッコ[]
[] 大カッコ内に入っている文字のいずれかが入っているか検索 [abcde] だ ...
-
正規表現の特殊文字等
http://taitan916.hateblo.jp/entry/2013/0 ...
-
正規表現について
正規表現について勉強したのでメモ。 そもそも正規表現とは? という状態だったので ...
-
正規表現の繰り返し
{}(波カッコ)で繰り返しの回数を指定できる。 a{5} aを5回繰り返し。 b ...