CodeLog

タイムスタンプの取得

PHPでタイムスタンプを取得する方法を解説します。日付などの処理をおこなう場合にはよく使われる取得です。

タイムスタンプとは?

タイムスタンプとは1970年1月1日0時0分0秒からの通算秒です。

取得されるタイムスタンプはサーバーやphp.iniなどのタイムゾーン設定によって異なりますので注意が必要です。例えばタイムゾーン設定がロンドンになっているとロンドンにおいての通算秒が取得されます。

タイムゾーンの設定

タイムゾーンを日本時間に設定する方法です。php.iniとPHPでおこなう2種類の方法があります。

php.ini

date.timezone = "Asia/Tokyo"

PHP

date_default_timezone_set('Asia/Tokyo');

現在のタイムスタンプを取得

$ts = time();

現在のタイムスタンプを取得する場合、time関数を使用します。引数は必要ありません。

指定日時のタイムスタンプを取得

指定した日時のタイムスタンプを取得するには、mktime関数もしくはstrtotime関数を使います。

mktime関数

$ts = mktime(0, 0, 0, 1, 1, 2020);
mktime( 時, 分, 秒, 月, 日, 年 );

mktime関数は、年月日時分秒を個別に指定してタイムスタンプの取得をおこないます。

strtotime関数

$ts = strtotime('2020/1/1 0:0:0');
strtotime( 英文形式の日時 );

strtotime関数は、英文形式の日時をタイムスタンプに変換して取得できる関数です。いろんな形式の日時に対応しており、一括して指定できるので便利な関数です。