PHPのmktime関数の使い方を現役エンジニアが解説【初心者向け】

初心者向けにPHPのmktime関数の使い方について現役エンジニアが解説しています。mktime関数とはPHPの標準関数で指定した日時のタイムスタンプを取得するためのメソッドです。mktime関数の使い方について解説していきましょう。

TechAcademyマガジンは受講者数No.1のオンラインプログラミングスクールTechAcademy [テックアカデミー]が運営。初心者向けに解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。

今回は、PHPのmktime関数の使い方について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。

 

PHPについてそもそもよく分からないという方は、PHPとは何なのか解説した記事を読むとさらに理解が深まるでしょう。

 

なお本記事は、TechAcademyのオンラインブートキャンプPHP/Laravel講座の内容をもとに紹介しています。

 

田島悠介

今回は、PHPに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

PHPのmktime関数の使い方について詳しく説明していくね!

大石ゆかり

お願いします!

この記事ではPHPのmktime関数を使う方法について解説します。

目次

mktime関数とは

mktime関数とはPHPの標準関数で指定した日時のタイムスタンプを取得するためのメソッドです。

タイムスタンプは1970年1月1日00:00:00 GMTから指定した時間までの秒を取得します。

 

[PR] PHPプログラミングで挫折しない学習方法を動画で公開中

mktime関数の使い方

mktime関数は以下のように記述しましょう。

変数 = mktime([int hour [, int minute [, int second
             [, int month [, int day [, int year [,int is_dst]]]]]]]);

引数には第1引数から順番に時間、分、秒、月、日、年, サマータイムフラグを設定することが可能です。

設定しない場合は現在日時から指定された引数の日時だけ置き換わって取得することができます。

is_dstはサマータイムかどうかのフラグを設定可能です。

サマータイムの場合は1、違うなら0、不明の場合は-1を設定できます。

 

実際に書いてみよう

実際にmktime関数を使って指定した日時のタイムスタンプを取得するソースを書いてみましょう。

サンプルコード

<?php
  $time = mktime(9);
  var_dump(date('Y年m月d日h時i分s秒', $time));
  print('<br/>');

  $time = mktime(10, 10, 10);
  var_dump(date('Y年m月d日h時i分s秒', $time));
  print('<br/>');

  $time = mktime(0, 0, 0, 1, 1, 2020);
  var_dump(date('Y年m月d日h時i分s秒', $time));
  print('<br/>');

 

実行結果

string(32) "2020年06月18日09時43分56秒"
string(32) "2020年06月18日10時10分10秒"
string(32) "2020年01月01日12時00分00秒"

変換したタイムスタンプをdate型に変換して表示させています。

実行した日時は2020年6月18日14時43分56秒でしたが最初のソースでは14時が9時に置き換わっており、それ以外も置き換えに成功しています。

 

まとめ

この記事ではPHPのmktime関数の使い方について解説しました。

 

執筆してくれたメンター

メンターSさん

システムエンジニアとしてこれまで行政システムや医療用システムの保守、開発に携わりました。

JavaやPython、PHP、Kotlinなど様々な言語での開発経験があります。

TechAcademyではJavaコース、Pythonコース、AIコースなど7コースを担当しています。

 

大石ゆかり

PHPのmktime関数の使い方がよく分かったので良かったです!

田島悠介

ゆかりちゃん、これからも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

 

TechAcademyでは、初心者でも、PHPやフレームワークのLaravelを使ってWebアプリケーション開発を習得できる、オンラインブートキャンプを開催しています。

また、現役エンジニアから学べる無料体験も実施しているので、ぜひ参加してみてください。