TECH I.S.

PHPの日付と時刻


PHPdate()関数は、日付および/または時刻をフォーマットするために使用されます。


PHP Date()関数

PHPdate()関数は、タイムスタンプをより読みやすい日付と時刻にフォーマットします。

構文

<div>date(<i>format</i>,<i>timestamp</i>)</div>

パラメータ

説明

フォーマット 必須です。タイムスタンプの形式を指定します。
タイムスタンプ オプション。タイムスタンプを指定します。デフォルトは現在の日付と時刻です。

タイムスタンプは一連の文字であり、特定のイベントが発生した日付や時刻を示します。


日付を取得

必須*フォーマット*date()関数のパラメーターは、日付(または時刻)のフォーマット方法を指定します。

日付に一般的に使用される文字を次に示します。

  • d - 月の日を表します(01から31)。
  • m - 月を表します(01から12)。
  • Y - 年を表します(4 桁)。
  • l (小文字の「L」) - 曜日を表します。

「/」、「.」、「-」などの他の文字を文字間に挿入して、書式を追加することもできます。

以下の例では、今日の日付を3つの異なる方法でフォーマットします。

<?php echo "Today is " . date("Y/m/d") . "<br>"; echo "Today is " . date("Y.m.d") . "<br>"; echo "Today is " . date("Y-m-d") . "<br>"; echo "Today is " . date("l"); ?>


PHP ヒント - 自動著作権年

date()関数を使用してWeb サイトの著作権年を自動的に更新します。:

&copy; 2010-<?php echo date("Y");?>


時間を取得

時間に一般的に使用されるいくつかの文字を次に示します。

  • H - 24時間形式の時間(00から23)
  • h - 先行ゼロ付きの12時間形式の時間(01から12)
  • i - 先行ゼロ付きの分(00から59)
  • s - 先行ゼロ付きの秒(00から59)
  • a - 小文字の前子午線と後子午線 (午前または午後)

以下の例は、現在の時刻を指定された形式で出力します。

<?php echo "The time is " . date("h:i:sa"); ?>

PHPのdate() 関数は、サーバーの現在の日付/時刻を返すことに注意してください!


タイムゾーンを取得する

コードから返された時間が正しくない場合は、サーバーが別の国にあるか、別のタイムゾーンに設定されている可能性があります。

したがって、特定の場所に応じて正確な時間が必要な場合は、使用するタイムゾーンを設定できます。

以下の例では、タイムゾーンを"America/New_York"に設定し、現在の時刻を指定された形式で出力します。

<?php date_default_timezone_set("America/New_York"); echo "The time is " . date("h:i:sa"); ?>


mktime()で日付を作成する

オプションの*タイムスタンプ*date()関数のパラメーターは、タイムスタンプを指定します。省略した場合、現在の日付と時刻が使用されます(上記の例のように)。

PHPmktime()関数は、日付のUnixタイムスタンプを返します。Unixタイムスタンプには、Unixエポック(1970年1月1日00:00:00 GMT)から指定された時刻までの秒数が含まれます。

構文

<div>mktime(<em>hour, minute, second, month, day, year</em>)</div>

以下の例では、mktime()関数のいくつかのパラメーターから、date()関数で日付と時刻を作成しています。:

<?php $d=mktime(11, 14, 54, 8, 12, 2014); echo "Created date is " . date("Y-m-d h:i:sa", $d); ?>


strtotime()を使用して文字列から日付を作成する

PHPstrtotime()関数は、人間が読める日付文字列をUnixタイムスタンプ(1970年1月1日00:00:00 GMTからの秒数)に変換するために使用されます。

構文

<div> strtotime(<em>time, now</em>)</div>

以下の例では、strtotime()関数:

<?php $d=strtotime("10:30pm April 15 2014"); echo "Created date is " . date("Y-m-d h:i:sa", $d); ?>

PHPは文字列を日付に変換することに関して非常に巧妙なので、さまざまな値を入れることができます。

<?php $d=strtotime("tomorrow"); echo date("Y-m-d h:i:sa", $d) . "<br>"; $d=strtotime("next Saturday"); echo date("Y-m-d h:i:sa", $d) . "<br>"; $d=strtotime("+3 Months"); echo date("Y-m-d h:i:sa", $d) . "<br>"; ?>

しかし、strtotime()は完璧ではないので、そこに入れる文字列を確認することを忘れないでください。


その他の日付の例

以下の例は、次の6つの土曜日の日付を出力します。

<?php $startdate = strtotime("Saturday"); $enddate = strtotime("+6 weeks", $startdate); while ($startdate < $enddate) {   echo date("M d", $startdate) . "<br>";   $startdate = strtotime("+1 week", $startdate); } ?>

以下の例は、7月4日までの日数を出力します。

<?php $d1=strtotime("July 04"); $d2=ceil(($d1-time())/60/60/24); echo "There are " . $d2 ." days until 4th of July."; ?>


完全なPHP日付リファレンス

すべての日付関数の完全なリファレンスについては、PHP 日付参照を参照して下さい。

リファレンスには、各機能の簡単な説明と使用例が含まれています。



プログラミング学習を加速させる

プログラミングをプロの講師に教えてもらいませんか。

テックアイエスのプログラミングスクールは初心者も大歓迎です。年齢制限もありません。転職・副業に強く、挫折させない手厚いサポートで稼ぐ力を身につけましょう!

スクールの詳細