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で格納していったら一発だった。
関連記事
-
-
MySQLでREGEXPについて
SQL文にREGEXPというのを見てこれ何? となったのでメモ。 ■参考サイト ...