【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でタイムスタンプを日時や日付に変換する方法を解説します。                                    
             
     
                        
コメント一覧