勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

PHPでdatetime型のデータを年月日時分秒に分割する方法

   2024/01/18  PHP

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で格納していったら一発だった。

 - PHP

  関連記事

PHPで画像のフォーマット(拡張子)の変換
PHPで画像のフォーマット(拡張子)の変換

画像のアップロードでjpg/png/gif形式を受け付けつつ、 最終的にjpgで ...

PHPにてSession発行時に保存されるCookieに対してHttpOnly / Secure属性を設定する方法
PHPにてSession発行時に保存されるCookieに対してHttpOnly / Secure属性を設定する方法

先日PHPのsetcookie実行時にHttpOnly / Secure属性を設 ...

地理院のジオコーディングAPIをPHPからリクエストする方法
地理院のジオコーディングAPIをPHPからリクエストする方法

以前に地理院のジオコーディングAPIをjavascriptからajaxでリクエス ...

VONAGEとPHPでショートメッセージ(SMS)を送信する方法
VONAGEとPHPでショートメッセージ(SMS)を送信する方法

PHPからショートメッセージ(SMS)を送信してみたかった。また、SMS送信は基 ...

CodeIgniter4でコントローラ実行の前後に指定したイベントを実行する方法
CodeIgniter4でコントローラ実行の前後に指定したイベントを実行する方法

CodeIgniter4で特定の条件の場合は指定したページにリダイレクトさせたい ...