PHPのgmmktime()関数とは?GMT日時からUnixタイムスタンプを取得する方法
gmmktime()関数は、GMT(グリニッジ標準時)の日時に対応するUnixタイムスタンプを返すPHPの組み込み関数です。サーバーのローカルタイムゾーンに依存せず、GMTを基準とした日時を扱いたい場合に便利です。
構文
gmmktime(hour, minute, second, month, day, year, is_dst);
パラメータ
hour − 時間を指定します。
minute − 分を指定します。
second − 秒を指定します。
month − 月を指定します。
day − 日を指定します。
year − 年を指定します。
is_dst − サマータイム(DST)フラグです。ただし、この関数は常にGMT日時を基準とするため、このパラメータは結果に影響しません。なお、is_dstはPHP 5.1.0で非推奨となり、PHP 7.0.0で削除されています。
戻り値
gmmktime()関数は、整数型(int)のUnixタイムスタンプを返します。
使用例1:Unixタイムスタンプの取得
以下は、2017年9月10日のGMT午前0時0分0秒に対応するUnixタイムスタンプを取得する例です。
<?php $time = gmmktime(0,0,0,9,10,2017); print($time . "\n"); ?>
出力
1505001600
使用例2:曜日の判定
次に、gmmktime()で生成したタイムスタンプをdate()関数と組み合わせて、特定の日付が何曜日だったかを確認する例を見てみましょう。
<?php
echo "Nov 10, 2017 was on a ".date("l", gmmktime(0,0,0,11,10,2017));
?>
出力
Nov 10, 2017 was on a Friday
補足:mktime()との違い
mktime()関数も同様にUnixタイムスタンプを生成しますが、こちらはサーバーに設定されたローカルタイムゾーンを基準とします。一方、gmmktime()は常にGMTを基準とするため、タイムゾーンの影響を受けずに一貫した結果を得たい場合に適しています。
-
PHPのlog()関数とは?自然対数の計算方法と使い方を解説
定義と使い方log() 関数は、数値の自然対数(natural logarithm)を計算します。対数とは、指数関数の逆演算のことです。たとえば 102=100 という関係は「log10100=2」と表せます。自然対数はオイラー数 e を底として計算され、PHP では定義済み定数 M_E によって e の値(2.7182818284590452354)が提供されています。具体例を挙げると、exp(4.60517018599)=100(つまり e4.60517018599=100)が成り立つため、loge100=4.60517018599 となります。PHP では、この自然対数(loge)を l
-
PHPのmktime()関数とは?使い方と引数・戻り値を実例付きで解説
mktime()関数とはPHPのmktime()関数は、指定した日時からUnixタイムスタンプを生成して返す関数です。Unixタイムスタンプとは、Unixエポック(1970年1月1日 00:00:00 GMT)から指定した時刻までの経過秒数を表す長整数(long型)の値です。この関数を使うことで、「特定の日付が何曜日だったか」「ある日時をタイムスタンプに変換して計算する」といった処理を簡単に行えます。基本構文mktime(hour, minute, second, month, day, year, is_dst);引数(パラメータ)一覧hour(時) − 時間を指定します。minute(分)