【PHP】日時・日付をタイムスタンプに変更する方法

更新日:

ルナリス

ルナリス

日時や日付をタイムスタンプに変更する方法を解説するわ


お願いします!

ソルト

ソルト

タイムスタンプ→日時に変換したい場合はこちら

日時をタイムスタンプに変更する方法

「Y/m/d H:i:s」または「Y-m-d H:i:s」のフォーマットを用意してタイムスタンプを作成します。

1
2
3
4
5
6
7
8
9
10
//タイムゾーンを日本に設定( 必要であれば記述 )
//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」に変換する。
 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
//日時フォーマットを整える関数
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つのプログラムをまとめた物が次になります。
(日本語の日時をタイムスタンプに変換するプログラム)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
//日時フォーマットを整える関数
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;

合わせて読みたい記事


コメント一覧

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です