【PHP】日時・日付をタイムスタンプに変更する方法
更新日:
ルナリス
日時や日付をタイムスタンプに変更する方法を解説するわ
お願いします!
ソルト
タイムスタンプ→日時に変換したい場合はこちら
【PHP】タイムスタンプを日付・日時に変換する方法
PHPでタイムスタンプを日時や日付に変換する方法を解説します。
日時をタイムスタンプに変更する方法
「Y/m/d H:i:s」または「Y-m-d H:i:s」のフォーマットを用意してタイムスタンプを作成します。
//タイムゾーンを日本に設定( 必要であれば記述 ) //date_default_timezone_set ('Asia/Tokyo'); //日時の定義 $date = '2023/1/21 01:00:00'; //タイムスタンプに変換 $timestamp = strtotime($date); echo $timestamp;
ルナリス
strtotime関数を使用することでタイムスタンプを作成できるわ
簡単じゃん!
ソルト
ルナリス
ところがどっこい私達は日本語を使用してるから一手間必要よ
Y/m/d H:i:sフォーマットを用意する
このサイトを見ている方は日本人が多いと思います。
日本のフォーマットを使用している場合は英語フォーマットに変更する必要があります。
例:「2023年1月21日(土) 1時0分35秒」を「2023/1/21 1:0:35」に変換する。
//日時フォーマットを整える関数 function adjust_date_format( $date ){ $date = mb_convert_kana($date, "n,a"); $date = str_replace('年', '/', $date); $date = str_replace('(月)', '', $date); $date = str_replace('(火)', '', $date); $date = str_replace('(水)', '', $date); $date = str_replace('(木)', '', $date); $date = str_replace('(金)', '', $date); $date = str_replace('(土)', '', $date); $date = str_replace('(日)', '', $date); $date = str_replace('月', '/', $date); $date = str_replace('日', ' ', $date); $date = str_replace('時', ':', $date); $date = str_replace('分', ':', $date); $date = str_replace('秒', '', $date); $date = str_replace(' ', ' ', $date); return $date; } //日時の定義 $date = '2023年1月21日(土) 1時0分35秒'; //フォーマットを整える $date = adjust_date_format( $date ); echo $date; //出力結果 2023/1/21 1:0:35
ルナリス
フォーマットを整える、「adjust_date_format」関数を作成したわ
ルナリス
大体のフォーマットに対応してると思うからコピペでOKよ
簡単な解説
・「mb_convert_kana($date, “n,a”)」で数字と記号を半角に変換
・日本語を削除、または記号に置換
まとめ
2つのプログラムをまとめた物が次になります。
(日本語の日時をタイムスタンプに変換するプログラム)
//日時フォーマットを整える関数 function adjust_date_format( $date ){ $date = mb_convert_kana($date, "n,a"); $date = str_replace('年', '/', $date); $date = str_replace('(月)', '', $date); $date = str_replace('(火)', '', $date); $date = str_replace('(水)', '', $date); $date = str_replace('(木)', '', $date); $date = str_replace('(金)', '', $date); $date = str_replace('(土)', '', $date); $date = str_replace('(日)', '', $date); $date = str_replace('月', '/', $date); $date = str_replace('日', ' ', $date); $date = str_replace('時', ':', $date); $date = str_replace('分', ':', $date); $date = str_replace('秒', '', $date); $date = str_replace(' ', ' ', $date); return $date; } //日時の定義 $date = '2023年1月21日(土) 1時0分35秒'; //フォーマットを整える $date = adjust_date_format( $date ); //タイムスタンプに変換 $timestamp = strtotime($date); echo $timestamp;
合わせて読みたい記事
【PHP】タイムスタンプを日付・日時に変換する方法
PHPでタイムスタンプを日時や日付に変換する方法を解説します。
コメント一覧