php mktime 日時からタイムスタンプを取得する
php mktime 指定日時からUNIXタイムスタンプを取得
mktime() は、指定日時を UNIXタイムスタンプ に変換し取得することが出来ます。指定日時は左から mktime( 時, 分, 秒, 月, 日, 年 )の順番で指定することが出来ます。右から順番に省略することが可能で、省略した場合、ローカル日時の現在の日時がセットされます。
php.ini に記述する場合
mktime() 書式
書式 mktime()
int UNIXタイムスタンプ = mktime([int $hour, int $minute, int $second, int $month, int $day, int $year]);
//返り値は数値(int)、引数は右から順番に省略可能、失敗時は FALSE を返す
日本語書式 mktime()
指定日時のUNIXタイムスタンプ = mktime(時, 分, 秒, 月, 日, 年);
説明 | 指定日時からUNIXタイムスタンプを取得 | |
---|---|---|
引数 | int $hour | [時]:$year $month $day で指定した 日 の 0時 からスタートする [時] を指定。負の数値を指定した場合、0時 から前日へ遡った時間になります。23 より大きい数値の場合は翌日以降へ進んで時間を表します。 |
引数 | int $minute | [分]:$hour で指定した 時 の 0分 から数えた [分] を指定。負の数値を指定した場合、前の時間へ遡った時間になります。59 より大きい数値は次の時間以降へ進んで時間を表します。 |
引数 | int $second | [秒]:$minute で指定した 分 の 0秒 から数えた [秒] を指定。負の数値を指定した場合、前の時間へ遡った時間になります。59 より大きい数値は次の分以降へ進んで時間を表します。 |
引数 | int $month | [月]:前年末から数えた月数です。1 ~ 12 はそれぞれ 1月 ~ 12月 を示します。負の数値を指定した場合、前年の月を逆へ遡ります。-1 は 前年11月になります。0 は前年の 12月 となります。12より大きい数値を指定した場合、翌年へ進んで月を表します。 |
引数 | int $day | [日]:前月末から数えた日数です。1 は 1日、31 は 31日。ですが、月によって 28、29、30 など日数が異なります。負の数値を指定した場合、前の月へ遡った日数になります。0 は前月の末日になります。該当月の日数より大きい数値は次の月以降へ進んで日数を表します。 |
引数 | int $year | [年]:年。2桁 または 4桁 の値を指定できます。0 – 69 の間の値は 2000 – 2069 に、70 – 100 は 1970 – 2000 に該当します。 |
返り値 | int UNIXタイムスタンプ | UNIXタイムスタンプの数値。 |
サンプル
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <strong>時</strong><br> mktime(23,0,0,12,31,2020) は <?php echo date('Y/m/d H:i:s',mktime(23,0,0,12,31,2020)); ?> の意<br> <br> <strong>分</strong><br> mktime(0,59,0,12,31,2020) は <?php echo date('Y/m/d H:i:s',mktime(0,59,0,12,31,2020)); ?> の意<br> <br> <strong>秒</strong><br> mktime(0,0,59,12,31,2020) は <?php echo date('Y/m/d H:i:s',mktime(0,0,59,12,31,2020)); ?> の意<br> <br> <strong>月</strong><br> mktime(0,0,0,1,31,2020) は <?php echo date('Y/m/d H:i:s',mktime(0,0,0,1,31,2020)); ?> の意<br> <br> <strong>日</strong><br> mktime(0,0,0,12,1,2020) は <?php echo date('Y/m/d H:i:s',mktime(0,0,0,12,1,2020)); ?> の意<br> <br> <strong>年</strong><br> mktime(0,0,0,12,31,2030) は <?php echo date('Y/m/d H:i:s',mktime(0,0,0,12,31,2030)); ?> の意<br> |
1 2 3 4 5 6 7 8 9 10 11 12 | 時 mktime(23,0,0,12,31,2020) は 2020/12/31 23:00:00 の意 分 mktime(0,59,0,12,31,2020) は 2020/12/31 00:59:00 の意 秒 mktime(0,0,59,12,31,2020) は 2020/12/31 00:00:59 の意 月 mktime(0,0,0,1,31,2020) は 2020/01/31 00:00:00 の意 日 mktime(0,0,0,12,1,2020) は 2020/12/01 00:00:00 の意 年 mktime(0,0,0,12,31,2030) は 2030/12/31 00:00:00 の意 |
データ型 引数 や 返り値 のデータ型の説明
引数 や 返り値 | 内容(引数 | 返り値) |
---|---|
string | 文字列型 を受け入れる。 | 文字列型 を返す。 |
int | 整数型 を受け入れる。 | 整数型 を返す。 |
float | 浮動小数点数型 を受け入れる。 | 浮動小数点数型 を返す。 |
bool | 論理型 を受け入れる。 | 論理型 を返す。 |
number | 整数型 または 浮動小数点数型 を受け入れる。 | 整数型 または 浮動小数点数型 を返す。 |
array | 配列型 を受け入れる。 | 配列型 を返す。 |
object | オブジェクト型 を受け入れる。 | オブジェクト型 を返す。 |
array|object | 配列型 または オブジェクト型 を受け入れる。 | 配列型 または オブジェクト型 を返す。 |
mixed | 複数の データ型 を受け入れる(パラメーター)、或いは、返す(返り値)ことが可能。全てのデータ型ではありません。例えば gettype()関数 は全ての型を受け入れますが、一方、str_replace()関数 は、文字列型 と 配列型 のみを受け入れます。また、reset()関数 や end()関数 は、返り値に 配列型 と 論理型(FALSE)を返します。 |
void | パラメータ一覧で void が使用されている場合、その関数がパラメータを受け付けないことを表します。 | 返り値の型が void である場合、返り値に意味がないことを表します。 |
callback | callback 疑似型がこのドキュメントで使われていたのは、PHP 5.4 で callable タイプヒントが導入される前のことでした。両者はまったく同じ意味です。 |
◆ mktime() 内容
mktime() は、指定日時を UNIXタイムスタンプ に変換し取得することが出来ます。指定日時は左から mktime( 時, 分, 秒, 月, 日, 年 )の順番で指定することが出来ます。右から順番に省略することが可能で、省略した場合、ローカル日時の現在の日時がセットされます。mktime(); と引数をすべて省略するとエラーが発生するので、現在のUNIXタイムスタンプを取得する場合は time()関数 を利用しましょう。
◆ mktime() パラメーター
値 | 内容 |
---|---|
int $hour | [時]:$year $month $day で指定した 日 の 0時 からスタートする [時] を指定。負の数値を指定した場合、0時 から前日へ遡った時間になります。23 より大きい数値の場合は翌日以降へ進んで時間を表します。 例 0 mktime(0,0,0,12,31,2020); は 2020/12/31 00:00:00 となります。 23 mktime(23,0,0,12,31,2020); は 2020/12/31 23:00:00 となります。 -2 mktime(-2,0,0,12,31,2020); は 2020/12/30 22:00:00 となります。 24 mktime(24,0,0,12,31,2020); は 2021/01/01 00:00:00 となります。 25 mktime(25,0,0,12,31,2020); は 2021/01/01 01:00:00 となります。 |
int $minute | [分]:$hour で指定した 時 の 0分 から数えた [分] を指定。負の数値を指定した場合、前の時間へ遡った時間になります。59 より大きい数値は次の時間以降へ進んで時間を表します。 例 0 mktime(0,0,0,12,31,2020); は 2020/01/01 00:00:00 となります。 59 mktime(0,59,0,12,31,2020); は 2020/01/01 23:00:00 となります。 -300 mktime(0,-300,0,12,31,2020); は 2019/12/31 22:00:00 となります。 300 mktime(0,300,0,12,31,2020); は 2020/01/02 01:00:00 となります。 |
int $second | [秒]:$minute で指定した 分 の 0秒 から数えた [秒] を指定。負の数値を指定した場合、前の時間へ遡った時間になります。59 より大きい数値は次の分以降へ進んで時間を表します。 例 0 mktime(0,0,0,12,31,2020); は 2020/12/31 00:00:00 となります。 59 mktime(0,0,59,12,31,2020); は 2020/12/31 00:00:59 となります。 -1000 mktime(0,0,-1000,12,31,2020)v は 2020/12/30 23:43:20 となります。 1000 mktime(0,0,1000,12,31,2020); は 2020/12/31 00:16:40 となります。 |
int $month | [月]:前年末から数えた月数です。1 ~ 12 はそれぞれ 1月 ~ 12月 を示します。負の数値を指定した場合、前年の月を逆へ遡ります。-1 は 前年11月になります。0 は前年の 12月 となります。12より大きい数値を指定した場合、翌年へ進んで月を表します。 例 1 mktime(0,0,0,1,31,2020); は 2020/01/31 00:00:00 となります。 12 mktime(0,0,0,12,31,2020); は 2020/12/31 00:00:00 となります。 -24 mktime(0,0,0,-24,31,2020); は 2017/12/31 00:00:00 となります。 24 mktime(0,0,0,24,31,2020); は 2021/12/31 00:00:00 となります。 |
int $day | [日]:前月末から数えた日数です。1 は 1日、31 は 31日。ですが、月によって 28、29、30 など日数が異なります。負の数値を指定した場合、前の月へ遡った日数になります。0 は前月の末日になります。該当月の日数より大きい数値は次の月以降へ進んで日数を表します。 例 1 mktime(0,0,0,12,1,2020); は 2020/12/01 00:00:00 となります。 31 mktime(0,0,0,12,31,2020); は 2020/12/31 00:00:00 となります。 -100 mktime(0,0,0,12,-100,2020); は 2020/08/22 00:00:00 となります。 100 mktime(0,0,0,12,100,2020); は 2021/03/10 00:00:00 となります。 |
int $year | [年]:年。2桁 または 4桁 の値を指定できます。0 – 69 の間の値は 2000 – 2069 に、70 – 100 は 1970 – 2000 に該当します。 例 1970 mktime(0,0,0,12,31,1970); は 1970/12/31 00:00:00 となります。 2020 mktime(0,0,0,12,31,2020); は 2020/12/31 00:00:00 となります。 3000 mktime(0,0,0,12,31,3000); は 3000/12/31 00:00:00 となります。 |
◆ mktime() 返り値
int
数値のUNIXタイムスタンプが返されます。失敗すると FALSE が返されます。
◆ mktime() 変更履歴
PHPバージョン | 変更内容 |
---|---|
7.0.0 | is_dst パラメータが削除されました。 |
5.3.0 | is_dst パラメータを使用した場合 E_DEPRECATED をスローするようになりました。 |
5.1.0 | タイムゾーンを設定する is_dst パラメータは廃止されました。 |
5.1.0 | mktime() は引数省略可能ですが、引数なしでコールすると E_STRICT notice のエラーが発生します。現在のUNIXタイムスタンプを取得する場合 time() 関数を使用しましょう。 |
5.1.0 | タイムゾーンがおかしい場合に E_STRICT や E_NOTICE が発生するようになりました。 |
mktime() サンプル
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 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | <strong>時</strong><br> mktime(0,0,0,12,31,2020) は <?php echo date('Y/m/d H:i:s',mktime(0,0,0,12,31,2020)); ?> の意<br> mktime(23,0,0,12,31,2020) は <?php echo date('Y/m/d H:i:s',mktime(23,0,0,12,31,2020)); ?> の意<br> mktime(-2,0,0,12,31,2020) は <?php echo date('Y/m/d H:i:s',mktime(-2,0,0,12,31,2020)); ?> の意<br> mktime(24,0,0,12,31,2020) は <?php echo date('Y/m/d H:i:s',mktime(24,0,0,12,31,2020)); ?> の意<br> mktime(25,0,0,12,31,2020) は <?php echo date('Y/m/d H:i:s',mktime(25,0,0,12,31,2020)); ?> の意<br> <br> <strong>分</strong><br> mktime(0,0,0,12,31,2020) は <?php echo date('Y/m/d H:i:s',mktime(0,0,0,12,31,2020)); ?> の意<br> mktime(0,59,0,12,31,2020) は <?php echo date('Y/m/d H:i:s',mktime(0,59,0,12,31,2020)); ?> の意<br> mktime(0,-300,0,12,31,2020) は <?php echo date('Y/m/d H:i:s',mktime(0,-300,0,12,31,2020)); ?> の意<br> mktime(0,300,0,12,31,2020) は <?php echo date('Y/m/d H:i:s',mktime(0,300,0,12,31,2020)); ?> の意<br> <br> <strong>秒</strong><br> mktime(0,0,0,12,31,2020) は <?php echo date('Y/m/d H:i:s',mktime(0,0,0,12,31,2020)); ?> の意<br> mktime(0,0,59,12,31,2020) は <?php echo date('Y/m/d H:i:s',mktime(0,0,59,12,31,2020)); ?> の意<br> mktime(0,0,-1000,12,31,2020) は <?php echo date('Y/m/d H:i:s',mktime(0,0,-1000,12,31,2020)); ?> の意<br> mktime(0,0,1000,12,31,2020) は <?php echo date('Y/m/d H:i:s',mktime(0,0,1000,12,31,2020)); ?> の意<br> <br> <strong>月</strong><br> mktime(0,0,0,1,31,2020) は <?php echo date('Y/m/d H:i:s',mktime(0,0,0,1,31,2020)); ?> の意<br> mktime(0,0,0,12,31,2020) は <?php echo date('Y/m/d H:i:s',mktime(0,0,0,12,31,2020)); ?> の意<br> mktime(0,0,0,-24,31,2020) は <?php echo date('Y/m/d H:i:s',mktime(0,0,0,-24,31,2020)); ?> の意<br> mktime(0,0,0,24,31,2020) は <?php echo date('Y/m/d H:i:s',mktime(0,0,0,24,31,2020)); ?> の意<br> <br> <strong>日</strong><br> mktime(0,0,0,12,1,2020) は <?php echo date('Y/m/d H:i:s',mktime(0,0,0,12,1,2020)); ?> の意<br> mktime(0,0,0,12,31,2020) は <?php echo date('Y/m/d H:i:s',mktime(0,0,0,12,31,2020)); ?> の意<br> mktime(0,0,0,12,-100,2020) は <?php echo date('Y/m/d H:i:s',mktime(0,0,0,12,-100,2020)); ?> の意<br> mktime(0,0,0,12,100,2020) は <?php echo date('Y/m/d H:i:s',mktime(0,0,0,12,100,2020)); ?> の意<br> <br> <strong>年</strong><br> mktime(0,0,0,12,31,1970) は <?php echo date('Y/m/d H:i:s',mktime(0,0,0,12,31,1970)); ?> の意<br> mktime(0,0,0,12,31,2020) は <?php echo date('Y/m/d H:i:s',mktime(0,0,0,12,31,2020)); ?> の意<br> mktime(0,0,0,12,31,3000) は <?php echo date('Y/m/d H:i:s',mktime(0,0,0,12,31,3000)); ?> の意<br> |
mktime(0,0,0,12,31,2020) は 2020/12/31 00:00:00 の意
mktime(23,0,0,12,31,2020) は 2020/12/31 23:00:00 の意
mktime(-2,0,0,12,31,2020) は 2020/12/30 22:00:00 の意
mktime(24,0,0,12,31,2020) は 2021/01/01 00:00:00 の意
mktime(25,0,0,12,31,2020) は 2021/01/01 01:00:00 の意
分
mktime(0,0,0,12,31,2020) は 2020/12/31 00:00:00 の意
mktime(0,59,0,12,31,2020) は 2020/12/31 00:59:00 の意
mktime(0,-300,0,12,31,2020) は 2020/12/30 19:00:00 の意
mktime(0,300,0,12,31,2020) は 2020/12/31 05:00:00 の意
秒
mktime(0,0,0,12,31,2020) は 2020/12/31 00:00:00 の意
mktime(0,0,59,12,31,2020) は 2020/12/31 00:00:59 の意
mktime(0,0,-1000,12,31,2020) は 2020/12/30 23:43:20 の意
mktime(0,0,1000,12,31,2020) は 2020/12/31 00:16:40 の意
月
mktime(0,0,0,1,31,2020) は 2020/01/31 00:00:00 の意
mktime(0,0,0,12,31,2020) は 2020/12/31 00:00:00 の意
mktime(0,0,0,-24,31,2020) は 2017/12/31 00:00:00 の意
mktime(0,0,0,24,31,2020) は 2021/12/31 00:00:00 の意
日
mktime(0,0,0,12,1,2020) は 2020/12/01 00:00:00 の意
mktime(0,0,0,12,31,2020) は 2020/12/31 00:00:00 の意
mktime(0,0,0,12,-100,2020) は 2020/08/22 00:00:00 の意
mktime(0,0,0,12,100,2020) は 2021/03/10 00:00:00 の意
年
mktime(0,0,0,12,31,1970) は 1970/12/31 00:00:00 の意
mktime(0,0,0,12,31,2020) は 2020/12/31 00:00:00 の意
mktime(0,0,0,12,31,3000) は 3000/12/31 00:00:00 の意
タグ(=記事関連ワード)
日付
最終更新日:2023年06月20日