PHP:UNIXタイムスタンプ状態の日時(DATE、TIME)は文字列のため、INTへ戻すがそのやり方

ウェブシステムの開発でよくあることのひとつとして、フォーム(form)で年と月と日の選択肢を作るとき、それぞれ別々のセレクトボックス(selectbox)にするというものがあります。

入力されたデータをSQL文のINSERTでデータベースへ新規登録する際、登録日のカラムはDATE型にしてあるため、セレクトボックス(selectbox)からサブミット(submit)された年・月・日それぞれのデータをハイフン(-)で繋げる必要がでてきます。

また、逆にデータベースからデータを取得して年・月・日へデータを分割して変数へ入れ、その変数三つをスラッシュ(/)で繋げてウェブページへ表示させたい場合もあります。

このようなときにいったんUNIXタイムスタンプ化するやり方があります。

// フォーム(form)から受け取ったデータをスラッシュ(/)で連結して変数へひとまとめする
$sdate_sv_all = $_REQUEST['date_year'].'/'.$_REQUEST['date_month'].'/'.$_REQUEST['date_day'];

// データベースから取得した日付データ(DATE型)をUNIXタイムスタンプ化する
$date_sv = strtotime($ary['date']);
// 年・月・日それぞれをINT型にしつつ
$date_sv_y = (int)date('Y', $date_sv);
$date_sv_m = (int)date('n', $date_sv);
$date_sv_d = (int)date('j', $date_sv);

目次
閉じる